我正在绘制一个图形,其中我有两个y轴,一个主轴和一个二级轴。现在我只想要“科学”风格的主y轴。我试过用ticklabel_format,但不知道如何使一种科学和另一种保持平淡。以下是代码
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画成平面图。提前感谢!
发布于 2021-06-18 15:04:02
您所要做的就是修改提供的代码中的最后一行,以使用ax1而不是plt:
ax1.ticklabel_format(axis="y", style="sci", scilimits=(0,0))
plt.show()当前的解决方案是在plt上调用ticklabel_format();为了确保它被应用到正确的轴上,您应该调用要修改的对象上的方法。

发布于 2021-06-18 15:04:49
你可以叫ax.ticklabel_format
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

https://stackoverflow.com/questions/68037313
复制相似问题