簡體   English   中英

如何根據符號將軸刻度線格式化為某種顏色?

[英]How do I format axis ticks to be a certain color based on sign?

我希望我的y軸刻度標簽在刻度值為正時為綠色,而在刻度值為負時為紅色。

考慮以下系列和情節

np.random.seed([3,1415])
pd.Series(np.random.randn(100)).add(.1).cumsum().plot()

在此處輸入圖片說明

我需要[2, 4, 6, 8]為綠色, [-2, -4, -6, -8]為紅色。

您可以使用軸的ax.get_yticklabels()和ax.get_yticks()方法來完成此操作...

import numpy as np
import pylab as plt
import pandas as pd
# figure data
np.random.seed([3,1415])
# create the plot
ax = plt.figure().gca()
ax.plot(pd.Series(np.random.randn(100)).add(.1).cumsum())
# change the y-axis label colors based on positive/negative
a = [ax.get_yticklabels()[i].set_color('red')  if (ax.get_yticks()[i] < 0 ) else ax.get_yticklabels()[i].set_color('green') if ( ax.get_yticks()[i] > 0 ) else ax.get_yticklabels()[i].set_color('black') for i in range(len(ax.get_yticklabels()))]

在此處輸入圖片說明

上面使用列表推導[a如果A否則b否則b否則c為列表]。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM