python - Matplotlib 直方图按常数因子缩放 y 轴

标签 python matplotlib

我在直方图中绘制一些值并想缩放 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:

30 means 3ns

最佳答案

最简单的方法是定义轴,然后乘以轴的刻度。例如

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/

相关文章:

python - 如何为数据库模型手动创建正确的主键

python - Pandas ,删除最后一个 '_' 之后的所有内容

python - 如何使用字幕在多行中写一个情节标题?

python - 如何绘制经验 cdf (ecdf)

python - 根目录下的 Django requirements.txt 文件

python - Twisted 与 Google App Engine 在服务移动客户端方面的对比

python - matplotlib 中 Poly3DCollection 图的透明度

python-3.x - Seaborn虚线在图例中不是虚线

python - Matplotlib:在 PolarAxes 上绘制一系列径向线

python - 将每个数字数组元素绘制为一条水平线