2016-10-14 11 views
0

等高線プロットを使用して6高さ(5、 10、15、20、25、および30)を固定x軸(「WN」シリーズ、1〜2300)で置き換えます。 y(高さ)は各シリーズと不連続で異なりますので、高さの間を補間する必要があります。Python:6次元の分数データ(z)の固定xとyを持つ2次元等高線プロット

WN,5,10,15,20,25,30 
1,0.9984898,0.99698234,0.99547797,0.99397725,0.99247956,0.99098486 
2,0.99814528,0.99629492,0.9944489,0.99260795,0.99077147,0.98893934 
3,0.99765164,0.99530965,0.99297464,0.99064702,0.98832631,0.98601222 
4,0.99705136,0.99411237,0.99118394,0.98826683,0.98535997,0.9824633 
5,0.99606526,0.99214685,0.98824716,0.98436642,0.98050326,0.97665751 
6,0.98111153,0.96281821,0.94508928,0.92790776,0.91125059,0.89509743 
7,0.99266499,0.98539108,0.97816986,0.97100824,0.96390355,0.95685524 
... 

ありがとうございました!

答えて

0

matplotlibを使用するには、X(行)、Y(列)、およびZ値が必要です。 matplotlib関数は、特定の形式のデータを要求します。下に、meshgridがそのフォーマットを取得するのに役立つのがわかります。

ここでは、私はcsvファイルに保存したデータをインポートするためにパンダを使用します。あなたはあなたが好きなようにあなたのデータをロードすることができます。キーはプロット関数のデータを準備しています。

import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 

#import the data from a csv file 
data = pd.read_csv('C:/book1.csv') 

#here, I let the x values be the column headers (could switch if you'd like) 
#[1:] don't want the 'WN' as a value 
X = data.columns.values[1:] 

#Here I get the index values (a pandas dataframe thing) as the Y values 
Y = data['WN'] 

#don't want this column in your data though 
del data['WN'] 

#need to shape your data in preparation for plotting 
X, Y = np.meshgrid(X, Y) 

#see http://matplotlib.org/examples/pylab_examples/contour_demo.html 
plt.contourf(X,Y,data) 

enter image description here

関連する問題