簡體   English   中英

使用pd.DataFrames Python繪制2D Contourf和3D數據時出現問題

[英]Trouble plotting 2d contourf and 3d data using pd.DataFrames python

我目前正在嘗試生成我做過的實驗的數據,涉及xy掃描文件,然后將它們繪制為時間的函數。 我設法將它們放入x軸作為索引,時間作為列標簽,掃描值作為df中值的,形狀為(1027,281)的pandas DataFrame中。 等高線圖看起來像這樣。

y = dftest.index.values
x = dftest.columns.values
z = dftest.values
X,Y = np.meshgrid(x,y)
z2 = np.ma.array(z)
z2_masked = np.ma.masked_where(z2 > 300, z2)
z2_masked = np.ma.masked_where(z2_masked < -5, z2_masked)
z3 = np.ma.filled(z2_masked, fill_value = 0)
plt.contourf(X, Y ,z3, 20, cmap = 'jet')
plt.colorbar()
plt.xlim(xmax = 175000)
plt.xticks(np.arange(0, 175000, step=50000))

時間分辨PXRD,x軸=時間,y =衍射角:

在此處輸入圖片說明

首先,這會產生錯誤的結果,我希望掃描文件的x值是x軸,但它是y軸。 然后,我想找到一種簡單的方法將其繪制為3d等高線圖或曲面。 我認為我的問題出在數據的形狀上,但我不確定如何糾正它。

我的每個DataFrame都是這樣的:

           0.0       646.0       ...      181742.0   182390.0
x                                ...                         
0.996522   7.301625  3.914700    ...      8.224773   9.885618
1.000432  10.722788  7.379380    ...      8.474020  19.229299
1.004341   0.079724  5.567879    ...     -0.143427   2.684953
1.008251   4.738650  3.903460    ...     -1.162278   3.809588
1.012161   6.213206 -0.318955    ...      4.050190   1.454264
            ...       ...    ...           ...        ...
4.992126  -2.956039 -4.475446    ...     -2.816053  -4.556231
4.996036  -1.105434  1.274342    ...     -1.393612  -4.338330
4.999945  -0.536215  2.073975    ...     -2.727332  -1.083154
5.003855   5.983973  6.983155    ...      1.188320   3.657221
5.007765  -3.638785 -1.548692    ...     -5.225328  -2.164280

[1027 rows x 281 columns]

要生成輪廓圖(為簡單起見,忽略掩膜),這行不通嗎?

x = dftest.index.values
y = dftest.columns.values
z = dftest.values
X,Y = np.meshgrid(x,y)
Z = z.T
plt.contourf(X,Y,Z,20,cmap='jet')
plt.colorbar()
plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM