首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得matplotlib ticklabel_format:样式‘style’只有一个选定的'y‘轴

如何获得matplotlib ticklabel_format:样式‘style’只有一个选定的'y‘轴
EN

Stack Overflow用户
提问于 2021-06-18 14:52:24
回答 2查看 264关注 0票数 0

我正在绘制一个图形,其中我有两个y轴,一个主轴和一个二级轴。现在我只想要“科学”风格的主y轴。我试过用ticklabel_format,但不知道如何使一种科学和另一种保持平淡。以下是代码

代码语言:javascript
复制
x1 =(0, 1, 2)
x2 =(0.1, 5, 7)
y1 = (1e-4, 2e-4, 3e-4)
y2 = (1000, 1200, 1500)
fig1, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x1, y1)
ax2.plot(x2, y2)
plt.ticklabel_format(axis="y", style="sci", scilimits=(0,0))

这是产生的图像

我想把初生y轴画成科学,二级y画成平面图。提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-18 15:04:02

您所要做的就是修改提供的代码中的最后一行,以使用ax1而不是plt:

代码语言:javascript
复制
ax1.ticklabel_format(axis="y", style="sci", scilimits=(0,0))
plt.show()

当前的解决方案是在plt上调用ticklabel_format();为了确保它被应用到正确的轴上,您应该调用要修改的对象上的方法。

票数 0
EN

Stack Overflow用户

发布于 2021-06-18 15:04:49

你可以叫ax.ticklabel_format

代码语言:javascript
复制
x =(0, 1, 2)
y1 = (1e-4, 2e-4, 3e-4)
y2 = (1000, 2000, 3000)
fig1, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x, y1)
ax2.plot(x, y2)
ax2.ticklabel_format(axis="y", style="sci", scilimits=(0,0))  # Only ax2
...
ax1.ticklabel_format(axis="y", style="sci", scilimits=(0,0))  # Only ax1

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

https://stackoverflow.com/questions/68037313

复制
相关文章

相似问题

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