首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib交互式导航缩放-矩形按钮不工作

Matplotlib交互式导航缩放-矩形按钮不工作
EN

Stack Overflow用户
提问于 2013-09-10 12:42:45
回答 1查看 1.6K关注 0票数 0

我有这个Python代码来绘制一个图形:

代码语言:javascript
复制
matplotlib.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)

我画了每一个沿着x和y运行的循环图,如下所示:

代码语言:javascript
复制
ax.plot(x, y, dotFormat)
ax.errorbar(x, y, yerr=errorStd, fmt=dotFormat)

最后,设置轴并使用交互式导航显示图表:

代码语言:javascript
复制
ax.grid(True)
ax.set_title(chartTitle)

fontsize=10

ax.set_ylabel(yLabel, fontsize=fontsize+2)
ax.set_xlabel(xLabel+'\n', fontsize=fontsize+2)

ax.set_yticklabels(ax.get_yticks(), fontsize=fontsize)
ax.set_xticks(range(len(xMinorLabels)), minor=True) 
ax.set_xticklabels(xMinorLabels, minor=True, rotation=90, fontsize=fontsize-5) 
ax.set_xticks(xMajorPosition, minor=False) 
ax.set_xticklabels(xMajorLabels, minor=False, rotation=90, fontsize=fontsize-4)

plt.show()

如果我使用工具,缩放到矩形,而Y轴不工作属性,因为相同的点放大前小于5,放大后超过5。

当我使用缩放工具时,y轴发生了什么变化?matplotlib库的交互式导航中是否有bug?没有这个工具,库对于巨大的图表是无用的。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-10 13:03:05

问题是这个

代码语言:javascript
复制
ax.set_yticklabels(ax.get_yticks(), fontsize=fontsize)

部分。set_yticklabels设置与数据无关的滴答值。这是第三个勾号,总是是您传入的内容的第三个条目。

set_*ticklabels应该被认为是危险的,并且只在非常特殊的情况下使用。

您可以通过ax.tick_params(...) 文档示例设置字体大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18719295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档