PyPlot - Y 轴上两个方向的正值
PyPlot - Positive values on Y-axis in both directions
我有两个数据系列,都有正值,我想将它们显示在同一张图中,如下图所示。如果我反转第二个系列,我会得到想要的结果,但这样 Y 轴值将为负数。有没有解决办法基本上在Y轴上显示绝对值?
提前致谢!
您可以将格式化程序设置为显示绝对值:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(100)
y1 = np.random.normal(0.1, 1, 100).cumsum()
y1 -= y1.min()
y2 = np.random.normal(0.1, 1, 100).cumsum()
y2 -= y2.min()
fig, ax = plt.subplots()
ax.bar(x, y1)
ax.bar(x, -y2)
ax.yaxis.set_major_formatter(lambda x, pos: f'{abs(x):g}')
ax.margins(x=0)
plt.show()
我有两个数据系列,都有正值,我想将它们显示在同一张图中,如下图所示。如果我反转第二个系列,我会得到想要的结果,但这样 Y 轴值将为负数。有没有解决办法基本上在Y轴上显示绝对值?
提前致谢!
您可以将格式化程序设置为显示绝对值:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(100)
y1 = np.random.normal(0.1, 1, 100).cumsum()
y1 -= y1.min()
y2 = np.random.normal(0.1, 1, 100).cumsum()
y2 -= y2.min()
fig, ax = plt.subplots()
ax.bar(x, y1)
ax.bar(x, -y2)
ax.yaxis.set_major_formatter(lambda x, pos: f'{abs(x):g}')
ax.margins(x=0)
plt.show()