2017-01-29 4 views
1

matplotlibが新しく、選択したxティックラベルのみをフォーマットする方法を調べる方法を知りました。簡潔にするために、私は簡単なコードとグラフの下に添付しました。最後のx目盛りラベル(この例では5.0)のフォント色を変更するにはどうすればよいですか?選択したティックラベルのみをフォーマットする

Code 
import matplotlib.pyplot as plt 
fig, ax = plt.subplots() 
ax.plot([1, 2, 3, 4, 5], [50, 40, 60, 70, 50]) 
plt.show() 

enter image description here

答えて

2

あなたはax.get_xticklabels()経由xticklabelsを得ることができます。これにより、matplotlib.text.Textインスタンスのリストが返されます。その中から1つを選択し、text.set_color("red")を使用して色を付けることができます。

ax.get_xticklabels()[-2].set_color("red") 

enter image description here

問題は、それが我々が探しているものであろう要素のどの直感的に明確ではないということです。この場合、リストの最後に空のティッシュラベルがあるので、最後の2番目です。これは、ビットをテストするか、設定する前にそれらを印刷する必要があります。また、プロットのサイズが変更され、より多くのティックラベルが軸に表示される場合、フォーマットされたラベルは突然以前とは異なる番号を持つことがあります。そのような場合は、説明するためにもう少し作業が必要になります。


もちろん 、あなたが好き textインスタンスのすべての属性を変更することができます色からアパート、

ax.get_xticklabels()[-2].set_color("white") 
ax.get_xticklabels()[-2].set_fontsize(14) 
ax.get_xticklabels()[-2].set_weight("bold") 
ax.get_xticklabels()[-2].set_bbox(dict(facecolor="red", alpha=0.9)) 

+0

ソリューションをありがとう!そのラベルをテキストボックスのようにボックスに入れることはできますか? –

+0

確かに、更新された答えを見てください。 – ImportanceOfBeingErnest

関連する問題