簡體   English   中英

如何使用Python繪制其數據在x軸上間距不相等的2D矩陣?

[英]How to plot 2D matrix whose data is not equally spaced along x-axis using Python?

我正在嘗試使用matplotlib庫(到目前為止我所知道的唯一一個庫)繪制2D矩陣。 但是,函數matplotlib.pyplot.imshow(matrix)假定數據在每個軸上的間距相等,而我要繪制的數據卻沒有。 我的數據看起來像:矩陣的第一列是x = 0行上的數據,第二列的數據是x = 1.27行而不是x = 1,而第三列的數據是x = 1.42行,但不是x = 2等等。

順便說一句,數據沿y軸平均分布。

所以我想知道是否有我可以按照我希望的方式繪制此圖? 謝謝您的時間和預先的幫助!

------編程中的newbee

更新:首先,謝謝大家的建議! 我已經嘗試了這些方法,這是輸出: 在此處輸入圖片說明

這是由contourf繪制的contourf ,與我預期的不同。 pcolormesh也不提供理想的輸出。 我要繪制的是代表地下結構的地震道數據。 我希望畫出這樣的東西: 在此處輸入圖片說明

如果有關於如何操作的建議,請給我提示! 非常感謝你!

我建議您使用功能pcolormesh

您只需要輸入一維數組x,y和2D數據中定義的間隔即可。 在下面找到一個簡單的示例。

from pylab import *
x = logspace(log10(1),log10(100),11)
y = linspace(1,100,21)

data = rand(20,10)
pcolormesh(x,y,data)
show()

請注意,x和y還有一點。 在這種情況下, data將填滿x和y定義的間隔。 否則,您可以使用函數contourf

干杯

您想要填充輪廓...

這些示例將幫助您入門。 如果您有特定問題,請告訴我們。

暫無
暫無

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

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