4

matplotlibのプロットの軸、目盛り、ラベルの色を変更するというアドバイスに従って、次を使用してグラフの背表紙、ラベル、数字、目盛りの色を設定することができました。

ax.spines['left'].set_color('#FF9000')
ax.yaxis.label.set_color('#FF9000')
ax.tick_params(axis='y', colors='#FF9000')

ただし、グラフの軸を対数スケールに設定すると、目盛りが再び黒に戻ります。

例えば:

ax.set_yscale('log')
ax.spines['left'].set_color('#FF9000')
ax.yaxis.label.set_color('#FF9000')
ax.tick_params(axis='y', colors='#FF9000') <-- now only half works

これにより、必要な色で数値が描画されます(したがって、コマンドがまだ何かを実行していることがわかります)が、目盛りには影響しません。

対数スケーリングされた目盛りの色を設定する方法はありますか?

4

1 に答える 1

7

これは私のシステムで正しく機能します(現在のgitマスターの非常に近くで実行されています):

kwarg which='both' (doc)を追加するだけです

figure()
ax = gca()

ax.set_yscale('log')
ax.spines['left'].set_color('#FF9000')
ax.yaxis.label.set_color('#FF9000')

ax.tick_params(axis='y', colors='#FF9000', width=5, which='both')

色が見やすいようにダニを太くしました。

対数目盛では、小さな目盛りはマイナー目盛りであり、デフォルトtick_paramsではメジャー目盛りのみを変更します。両方を実行するか、それぞれ(メジャーとマイナー)を個別に明示的に実行するように指示する必要があります。

于 2013-03-06T19:59:11.207 に答える