
Pythonを用いて等高線図を作成する方法について
xy座標とその点の高さをまとめた下のようなデータから、Pythonを用いて等高線図を作成するにはどのようにコードを作れば良いでしょうか?
(データのイメージ)
x y 高さ
0 0 2
1 1 5
2 2 3
3 3 2
0 1 1
1 0 4
2 0 3
xとyの範囲を決めてその範囲内で等間隔にメッシュを切り、格子点における高さを何らかの関数で与えてその高さの分布を等高線図として作成するというような方法については例がいくつか見つかるのですが、上記のようなことはどのようにして実現できるでしょうか。
アドバイス頂ければ幸いです。
No.1ベストアンサー
- 回答日時:
scatter,contour,surface等で等高線図を色々と作れます。
以下、scatterの場合のプログラム例です。色々と試せる様にコメント(#)にしている
ところがあります。グラフ2例添付しました。
以下のサンプルプログラムでどんな風になるか、試せると思います。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
#x = np.arange(-3, 3, 0.2)
#y = np.arange(-3, 3, 0.2)
#X, Y = np.meshgrid(x, y)
#Z = np.sin(X)+ np.cos(Y)
X=[0,1,2,3,0,1,2];
Y=[0,1,2,3,1,0,0];
Z=[2,5,3,2,1,4,3]
fig = plt.figure()
ax = Axes3D(fig)
#ax.plot_wireframe(X,Y,Z) # ワイヤーフレームプロット
#ax.plot_surface(X, Y, Z, rstride=1, cstride=1)# サーフェイス
#ax.plot3D(np.ravel(X),np.ravel(Y),np.ravel(Z))
#ax.contour3D(X,Y,Z)
#ax.contourf3D(X,Y,Z)
ax.scatter3D(np.ravel(X),np.ravel(Y),np.ravel(Z))
plt.xlabel('x'); plt.ylabel('y');
plt.show()

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
初級者の質問――time_tについて
-
プログラミングの問題と解答例...
-
入れ子のプルダウン?孫プルダ...
-
プロダクションコードとは?
-
C言語 多次元配列(3次元配列)
-
プログラム長文の読み方がわか...
-
USBカメラのTWAIN制御について
-
無限ループ中にある任意のキー...
-
C言語primeについて
-
一次元IFFTとFFTにおけ...
-
gccでスタックオーバーフローの...
-
待ち行列のシミュレーションの...
-
三次元のグラフを書きたいので...
-
マイコンからプログラムを読み...
-
VB2008 ACCESS 最適化について
-
Arduino nano(アルドゥイーノ ...
-
プログラミングの問題です。写...
-
COBOLのS9タイプからXタイプへ...
-
openGLで物体を半透明にして表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
マイコンからプログラムを読み...
-
プロダクションコードとは?
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
VBA
-
Arduino nano(アルドゥイーノ ...
-
COBOLのS9タイプからXタイプへ...
-
無限ループ中にある任意のキー...
-
世界一美しいソースコード
-
DCOMのアプリで配布用プロ...
-
VC++で作成した図をクリップボ...
-
openGLで物体を半透明にして表...
-
DataGridViewで指定列の背景色...
-
signalハンドラに引数を渡したい
-
C言語→MATLABへの変換で、困っ...
-
VB6 画面サイズ変更について
-
VBAのプログラムが動いているか...
-
c言語 コマンドライン引数
おすすめ情報