我有这个Python代码来绘制一个图形:
matplotlib.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)我画了每一个沿着x和y运行的循环图,如下所示:
ax.plot(x, y, dotFormat)
ax.errorbar(x, y, yerr=errorStd, fmt=dotFormat)最后,设置轴并使用交互式导航显示图表:
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?没有这个工具,库对于巨大的图表是无用的。
提前感谢!
发布于 2013-09-10 13:03:05
问题是这个
ax.set_yticklabels(ax.get_yticks(), fontsize=fontsize)部分。set_yticklabels设置与数据无关的滴答值。这是第三个勾号,总是是您传入的内容的第三个条目。
set_*ticklabels应该被认为是危险的,并且只在非常特殊的情况下使用。
您可以通过ax.tick_params(...) 文档,示例设置字体大小。
https://stackoverflow.com/questions/18719295
复制相似问题