当前位置:  开发笔记 > 编程语言 > 正文

如何根据符号将轴刻度格式化为某种颜色?

如何解决《如何根据符号将轴刻度格式化为某种颜色?》经验,为你挑选了1个好方法。

我希望我的y轴刻度标签在刻度值为正时为绿色,在刻度值为负时为红色.

考虑以下系列和情节

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

在此输入图像描述

我需要[2, 4, 6, 8]绿色和[-2, -4, -6, -8]红色.



1> 小智..:

你可以通过使用轴的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 else c为列表].

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有