3

matplotlib ライブラリ (これまでに知っている唯一のもの) を使用して 2D マトリックスをプロットしようとしています。ただし、関数matplotlib.pyplot.imshow(matrix)は、データが各軸に沿って等間隔であると想定していますが、プロットしたいデータはそうではありません。私のデータは次のようになります: 行列の最初の列は x=0 行のデータ、2 列目のデータは x=1 ではなく x=1.27 行、3 列目のデータは x=1.42 行にありますが、x=2 ではありません。等々。

ところで、データはy軸に沿って等間隔に配置されています。

とにかく、これを希望どおりにプロットできるかどうか疑問に思っていますか? 事前に時間を割いて親切に助けてくれてありがとう!

------ プログラミング初心者

更新: まず、ご提案いただきありがとうございます。メソッドを試してみましたが、出力は次のとおりです。 ここに画像の説明を入力

これは、私が期待したとおりにプロットされたグラフcontourfではありません。pcolormesh理想的な出力も得られません。私がプロットしようとしているのは、地下構造を表す地震痕跡のデータです。私はこのようなものをプロットしたいと思っています: ここに画像の説明を入力

どうすればいいのかアドバイスがあれば教えてください!どうもありがとうございました!

4

2 に答える 2

3

関数を使用することをお勧めしますpcolormesh

それに応じて、1D 配列 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 には余分な点があることに注意してください。この場合、datax と y で定義された間隔を埋めます。それ以外の場合は、関数を使用できますcontourf

乾杯

于 2014-11-02T07:43:06.740 に答える