2017-12-06 8 views
0

は、この例のmatplotlibのプロットに乗り満たさカラーバーを与えるメイクmatplotlibの輪郭プロットが

import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0, 4, 1000) 
y = np.linspace(-1, 1, 1000) 
xx, yy = np.meshgrid(x, y) 
z = np.sin(xx + yy**2) 
plt.figure() 
CS = plt.contourf(x, y, z) 
CS = plt.contour(x, y, z) 
plt.clabel(CS, fontsize=8, colors='black') 
cbar = plt.colorbar(CS) 
plt.savefig('test.png') 

これは、

enter image description here

カラーバーは非常に読みにくいです生成します残りは白です。

examplesのように、カラーバーに線だけでなく塗りつぶし色を付けるにはどうすればよいですか?

答えて

0

CScontourから、またはcontourfから使用するかどうかが重要です。 contourfの1つに塗りつぶしカラーバーが表示されます。私はcontourcontourfラインをスワップする方法

import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0, 4, 1000) 
y = np.linspace(-1, 1, 1000) 
xx, yy = np.meshgrid(x, y) 
z = np.sin(xx + yy**2) 
plt.figure() 
CS = plt.contour(x, y, z) 
CS = plt.contourf(x, y, z) 
plt.clabel(CS, fontsize=8, colors='black') 
cbar = plt.colorbar(CS) 
plt.savefig('test.png') 

は注意してください。

enter image description here

私はちょうどcontourを用いて充填カラーバーを作成する方法がわかりません。

+0

これは回答ですか、それとも質問ですか? – ImportanceOfBeingErnest

+0

@ImportanceOfBeingErnestこれは答えです。上にスクロールすると、その質問が表示されます。 – asmeurer

+0

申し訳ありませんが、上記の質問は、(x = 3; x = 4; print xは4ではなく3; CS = ...; CS = ...; colorbar (CS)」)本当の疑問は、答えに間違って配置される「輪郭から塗りつぶされたカラーバーを作る方法」であると私は考えていました。 – ImportanceOfBeingErnest