我在直方图中绘制一些值并想缩放 y 轴,但我只能找到方法来标准化 y 轴值或以对数方式缩放它们。 我的值采用 100ps 时间步长,我想将每个 y 轴值乘以 0.1 以获得更好且更易于理解的 ns 步长。
如何缩放直方图中的 y 轴值?
n, bins, patches = plt.hist(values1, 50, facecolor='blue', alpha=0.9, label="Sample1",align='left')
n, bins, patches = plt.hist(values2, 50, facecolor='red', alpha=0.9, label="Sample2",align='left')
plt.xlabel('value')
plt.ylabel('time [100ps]')
plt.title('')
plt.axis([-200, 200, 0, 180])
plt.legend()
plt.show()
在此图中,y 轴上的 10 表示 1ns:
最佳答案
最简单的方法是定义轴,然后乘以轴的刻度。例如
fig, ax1 = plt.subplots()
ax1.hist(values1, 50, facecolor='blue', alpha=0.9, label="Sample1",align='left')
y_vals = ax1.get_yticks()
ax1.set_yticklabels(['{:3.0f}%'.format(x * 100) for x in y_vals])
plt.show()
关于python - Matplotlib 直方图按常数因子缩放 y 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38667728/