将负y轴转换为正(matplotlib)

时间:2013-12-05 07:10:52

标签: python matplotlib

我想为男性和女性绘制一些参数的条形图。我这样做了: enter image description here

我想显示上侧(正y轴)和下侧(负x轴)的女性的平均频率。在这种情况下,对于频率,仅幅度问题和符号不会。为方便起见,我在上方显示一个,在下方显示另一个。我可以在负y轴上更改标记(-5,-10,...这里),使它们的大小保持相同但都是正数(5,10,...)。现在应该有两个正y轴,一个是其他的镜像。

1 个答案:

答案 0 :(得分:3)

当然可以做到。以下是您可以使用的示例:

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范围