
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ランキング
-
初級者の質問――time_tについて
-
2値化した画像の黒い部分のピク...
-
VB6 画面サイズ変更について
-
世界一美しいソースコード
-
VBAのプログラムが動いているか...
-
独学でプログラムの勉強をして...
-
プロダクションコードとは?
-
無限ループ中にある任意のキー...
-
openGLで物体を半透明にして表...
-
マウスカーソルの表示・非表示
-
プログラムを作る前に
-
Win32 APIでネットワークプ...
-
C言語primeについて
-
HSPで歩行アニメーションのプロ...
-
c言語のプログラムで平均点に一...
-
cとVisual Basic
-
XPathの関数「text()="value"」...
-
コマンドプロンプトが勝手に閉...
-
三次元のグラフを書きたいので...
-
c言語 コマンドライン引数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
マイコンからプログラムを読み...
-
初級者の質問――time_tについて
-
2値化した画像の黒い部分のピク...
-
プロダクションコードとは?
-
gccでスタックオーバーフローの...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
expectを使用しない対話型処理
-
C言語で1000までの素数を求める...
-
c言語 コマンドライン引数
-
Ofの使い方
-
COBOLのS9タイプからXタイプへ...
-
winsockを使った通信方法
-
無限ループ中にある任意のキー...
-
通信ゲームを作りたいんですが
-
デュアルCPUでのプログラミング...
-
HPBが立ち上がらない
-
遠方界のプログラム
おすすめ情報