"ColorbarBase"オブジェクトを使用してカラーバーを作成し、 "set_yticklabels"メソッドでティックを追加すると、matplotlibは "ティック"リストで指定された値の半分までを表示します。これは、私が最新のmatplotlibバージョンにアップグレードした後に起き始めました。ここでMatplotlibのカラーバーにティック値の半分しか表示されない
はそれをテストするための短いコードです:
matplotlibのバージョン2.1.0を使用してimport matplotlib.pyplot as plt
import matplotlib as mpl
fig = plt.figure(1)
cax = fig.add_axes([0.8, 0.15, 0.03, 0.72])
ticks = range(11)
cbar = mpl.colorbar.ColorbarBase(cax, cmap='rainbow', orientation='vertical')
cbar.ax.set_yticklabels(ticks)
plt.show()
私は1から5まで行くティックでカラーバーを取得し、一方matplotlibのバージョン1.4.3と私は正しいを取得します1から10までのティックを持つ数字。
ティックの範囲を2つ増やしてダーティな修正を行うことができますが、このようなことは起こりたくありません。何が起こっているのかについてのヒント?
は、あなたの答えをありがとう!これは私のコードの大半で動作します。 –
なぜ大部分のみですか?最も一般的ですが、私は言うでしょう。それ以上の説明が必要な場合は、それについて尋ねることができます。また、[誰かの回答](https://stackoverflow.com/help/someone-answers)もお読みください。 – ImportanceOfBeingErnest
ねえ、申し訳ありませんが、間違ってメッセージを送信しましたが、修正する時間がありませんでした。最後のティックで文字列を使用して、より大きいまたは等号を表示するケースが1つあります(たとえば、「> = 10」)。 "plt.norm"を使用するとエラーが発生します。これは数字のみで動作するためです。そのような場合にソリューションを動作させることは可能ですか? –