我正在尝试旋转图中的x刻度标签。我创建了一个通用函数,以要绘制的样式进行绘制。我执行以下操作:
labels=ax2.get_xticklabels()
for i,label in labels:
labels[i]=label.get_text()
ax2.set_xticklabels(labels, rotation=30)
Run Code Online (Sandbox Code Playgroud)
这产生了没有x_tick标签的图,因此我进行了更深入的研究:我让它在循环时打印标签,并且它们是空文本实例。但是,这是很奇怪的地方:当我只获取标签(labels = ax2.get_xticklabels()),并让plot函数返回文本实例列表(返回标签)时,列表中的Text实例确实具有正确的字符串,上面的代码将按预期生成字符串列表。我不确定为什么当我尝试在函数内部对其进行编辑时文本实例为空,但是当我使函数返回标签未经编辑时,它是正确的。有什么建议吗?
我将根据您问题的标题回答,因为我不理解其后的解释。
在绘制图形之前,不会填充刻度标签。
plt.plot([1, 2])
ax = plt.gca()
labels = ax.get_xticklabels()
for label in labels:
print(label)
Run Code Online (Sandbox Code Playgroud)
输出:
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Run Code Online (Sandbox Code Playgroud)
致电时,plt.draw()将打勾标签:
plt.plot([1, 2])
ax = plt.gca()
plt.draw()
labels = ax.get_xticklabels()
for label in labels:
print(label)
Run Code Online (Sandbox Code Playgroud)
输出:
Text(0,0,'')
Text(0,0,'0.0')
Text(0.2,0,'0.2')
Text(0.4,0,'0.4')
Text(0.6,0,'0.6')
Text(0.8,0,'0.8')
Text(1,0,'1.0')
Text(0,0,'')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3548 次 |
| 最近记录: |