我想绘制条形图以获取一些针对男性和女性的参数。我这样做是这样的:

我想在上侧(y轴正方向)显示平均值,在下侧(x轴负方向)显示女性的频率。在这种情况下,对于频率,幅度大小和符号无关紧要。为了方便起见,我在上侧显示一个,在下侧显示另一个。我可以在负y轴上更改标签(此处为-5,-10,...),以使其大小保持不变,但均为正(5、10,...)。现在应该有两个正y轴,一个为另一个的镜像。

最佳答案

当然可以。这是一个您可以尝试的示例:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
ax.plot(x,y)
ax.set_yticklabels([str(abs(x)) for x in ax.get_yticks()])
ax.show()

在这里,我只是将yticklabel设置为y位置的绝对值。当然,我有对称数据,而您却没有。如果要使其在中间“镜像”,则需要使用ax.set_ylim设置一个明确的y范围

关于python - 将负y轴转换为正(matplotlib),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20393663/

10-12 21:46