繁体   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