4

私はmatplotlibでプロットしています。コードは次のとおりです(zvalsには値があります)

cmap = mpl.colors.ListedColormap(['darkblue', 'blue', 'lightblue','lightgreen','yellow','gold','orange','darkorange','orangered','red'])
bounds=[0, 10,20,30,40,50,60,70,80,100,200,1000]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
img2 = plt.imshow(zvals,interpolation='nearest',
                cmap = cmap,
                norm=norm,
                origin='lower')


xlocations = na.array(range(30)) + 0.5
xticks(xlocations, [str(x+1) for x in arange(30)], rotation=0, size=5)
gca().xaxis.set_ticks_position('none')
gca().yaxis.set_ticks_position('none')  
grid(True)

これにより、次の画像が表示されます:http: //imageshack.us/a/img145/7325/histogrammoverview.png

xticks(1,2,3、..)のラベルを少し左に移動して、対応するカラーボックスの下に配置したいと思います。それに応じて、yticks(user1とuser2)のラベルを少し下に移動して、正しく表示されるようにします。これはどのように行うことができますか?

編集:実際のところ、次の行を変更できますxlocations = na.array(range(30))+0.5からxlocations= na.array(range(30))

結果の写真は次のようになります:http: //imageshack.us/a/img338/7325/histogrammoverview.png

グリッドが色付きのボックスを「通過」していることを確認してください。これは私が望んでいることではありません。上の写真のように、グリッドで色付きのボックスを縁取りしたいと思います。このバージョンでは、ラベル(1,2,3、...)がボックスの下に正しく配置されています。ラベル(色付きのボックスの下)と、色付きのボックスの中央ではなく、色付きのボックスの周囲にあるグリッドを正しく配置するにはどうすればよいですか。

解決

このソリューションは機能します(回答で示唆されているように):

periods = 30
xlocations = na.array(range(periods))
xminorlocations = na.array(range(periods))+0.5
xticks(xlocations, [str(x+1) for x in arange(periods)], rotation=0, size=5)
plt.set_xticks(xminorlocations, minor=True)
grid(True, which='minor', linestyle='-')

結果:hxxp://imageshack.us/a/img9/7325/histogrammoverview.png

4

1 に答える 1

2

私はあなたがそれを管理できると思います

  • 主要な目盛りの位置を各正方形の中央に設定します。
  • 各正方形の端に小さな目盛りを設定します。
  • マイナーティックでのみ表示されるようにグリッドを設定します。

グリッドは、を使用してマイナーティックでのみ表示できます

plt.grid(True, which='minor')

線のスタイルも設定し'-'ます。

于 2012-10-11T14:37:23.313 に答える