【发布时间】:2011-12-08 09:55:44
【问题描述】:
我正在绘制一个带有两个 y 轴的双图。第二个轴ax2 由twinx 创建。问题是通过yticks 对第二个y 轴进行着色不再起作用。相反,我必须单独set_color 标签。以下是相关代码:
fig = plt.figure()
fill_between(data[:,0], 0, (data[:,2]), color='yellow')
yticks(arange(0.2,1.2,0.2), ['.2', '.4', '.6', '.8', ' 1'], color='yellow')
ax2 = twinx()
ax2.plot(data[:,0], (data[:,1]), 'green')
yticks(arange(0.1,0.6,0.1), ['.1 ', '.2', '.3', '.4', '.5'], color='green')
# color='green' has no effect here ?!
# instead this is needed:
for t in ax2.yaxis.get_ticklabels(): t.set_color('green')
show()
导致:
仅当我设置刻度字符串时才会出现此问题。
yticks(arange(0.1,0.6,0.1), ['.1 ', '.2', '.3', '.4', '.5'], color='green')
省略,像这里
yticks(arange(0.1,0.6,0.1), color='green')
着色效果很好。
这是一个错误(找不到任何报告),一个功能(?!)或 我在这里错过了什么吗?我在 ubuntu 上使用 python 2.6.5 和 matplotlib 0.99.1.1。
【问题讨论】:
-
我不太清楚你在做什么......(你所说的“双重情节”到底是什么意思?
twinx/twiny、子情节或其他什么?)您能否发布一些示例代码或问题的示例图像和/或您期望发生的情况? -
抱歉描述不清楚。我将问题追踪到
twinx的使用并浓缩了问题描述。还添加了一个图形。
标签: python colors matplotlib