在pyplot上格式化主要和次要y轴值[重复]
Posted
技术标签:
【中文标题】在pyplot上格式化主要和次要y轴值[重复]【英文标题】:Format primary and secondary y-axis values on pyplot [duplicate] 【发布时间】:2022-01-04 20:58:37 【问题描述】:我很难用辅助轴格式化绘图。我想更改主要和次要 y 轴上值的字体大小。我尝试了“set_ticks...”或“yticks”的变体,但没有运气。有人可以帮帮我吗?非常感谢
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import FormatStrFormatter
plt.rcParams["figure.figsize"] = [16, 9]
plt.rcParams["figure.autolayout"] = True
x = [0,1,2,3,4,5,6,7,8,9,10]
y1 = [0,1,2,3,4,5,6,7,8,9,10]
y2 = [1000,900,800,700,600,500,400,300,200,100,0]
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x, y1, 'g-')
ax2.plot(x, y2, 'b-')
ax1.set_xlabel('increment', size=14)
ax1.set_ylabel('series 1', color='g', fontsize=14)
ax2.set_ylabel('series 2', color='b', size=14)
plt.title("This Plot is a Test\n\n", size=18, color='green')
plt.suptitle("\n\nJust a Test", size=18, color='blue')
ax1.yaxis.set_major_formatter(FormatStrFormatter('%.2f'))
ax1.yaxis.set_ticks(y1, size=20)
plt.grid()
plt.show();
【问题讨论】:
ax1.tick_params(axis='y', labelsize=20)
和 ax2.tick_params(axis='y', labelsize=20)
【参考方案1】:
似乎有 many approaches to this(欢迎使用 matplotlib,还请注意某些参数名称的大写字母已过时)。
编辑:我的原始答案似乎重置了数字格式,将其留在下面进行比较。使用ax1.tick_params(axis='y', labelsize=20)
。
原答案:
我得到的选择是在ax1.yaxis.set_ticks(y1)
之后附加ax1.set_yticklabels(y1, fontsize=20)
行。
如果您删除现有的 set_ticks
行,它会引发警告,但在视觉上结果是相同的。
【讨论】:
完美!非常感谢以上是关于在pyplot上格式化主要和次要y轴值[重复]的主要内容,如果未能解决你的问题,请参考以下文章