2017-12-12 16 views
0

私のプロット上の特定のxtick値の色を変更する方法を探しています。 たとえば、私は現在のxtickラベルをすべて黒色にしていますが、xtick値は7,11,12,14,18,25,26のすべてが赤色で、他のxtickラベルはすべて黒色にします。matplotlibの特定のxtickの色を変更する

可能な方法はありますか?

+0

あなたの問題を明確に把握するのに役立ついくつかの図的な詳細を記入してください! – Mandy8055

+1

ticklinesは標準の 'Line2D'オブジェクトにすぎないので、色を直接設定できます。何が問題になっていますか? – bnaecker

答えて

1

ダニを表示するline2dオブジェクトを引き戻し、その位置に基づいて色を変更することができます。表示されたティックだけを含むようにティックラインをフィルタリングする必要があります(マーカーによって示されるようです)。

ax = plt.gca() 
for t, loc in zip(filter(lambda x: x.get_marker()==3, ax.xaxis.get_ticklines()), 
       ax.xaxis.get_ticklocs()): 
    if loc in (7,11,12,14,18,25,26): 
     print(f'Changing tick line at {loc} to red') 
     t.set_color('red') 
+0

正直、美しい! :) –

関連する問題