[英]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.