【发布时间】:2015-08-18 13:18:59
【问题描述】:
我现在才使用 Python 大约一个月,如果有一些我忽略的简单解决方案,我很抱歉。
基本上,我有一个带有 4 个子图的图形,左侧的 2 个显示纵向图,右侧的 2 个显示纵向图某些点的散点图。您可以通过按钮点击纵坐标图不同点的散点图,您当前所在纵坐标图的刻度标签会以蓝色高亮显示。
为某个刻度标签着色已经可以使用:
xlabels = []
labelcolors = []
for i, item in enumerate(mr.segmentlst):
if re.search('SFX|MC|MQ|MS|MKC', item):
xlabels.append(mr.segmentlst[i])
else:
xlabels.append('')
for i, item in enumerate(mr.segmentlst):
if re.search('SFX', item):
labelcolors.append('black')
else:
labelcolors.append('gray')
labelcolors[self.ind]='blue'
[t.set_color(i) for (i,t) in zip(labelcolors, ax1.xaxis.get_ticklabels())]
[t.set_color(i) for (i,t) in zip(labelcolors, ax2.xaxis.get_ticklabels())]
它只显示某些刻度标签并相应地更改它们的颜色(我不知道是否有另一种解决方案,这是我能找到的唯一一个)。不要介意 mr.segmentlist,我目前已经对绘图进行硬编码以使用其他方法的属性,因此我可以轻松地继续在 Spyder 中对其进行测试。
我还想更改纵向图中当前突出显示的刻度标签(仅 xgridlines 可见)的网格线颜色,是否有某种类似的方法?我已经在互联网上搜索了大约 2 个小时的解决方案,但并没有真正找到任何有用的东西。
我认为可能会使用 ax1.get_xgridlines() 之类的东西,但我不知道如何将其转换为有用的列表。
谢谢, 塔玛拉
【问题讨论】:
标签: python matplotlib plot gridlines