python - 将负 y 轴转换为正 (matplotlib)

标签 python matplotlib

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

我想在上侧(正 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/

相关文章:

python - 自动保存plot, python, matplotlib

Python:如何在函数中分别绘制不同的图?

python - 为什么 python 2 -> 3 中的 inspect.ismethod 和 inspect.isfunction 之间存在差异?

python - 如何用for循环改进子图部分?

python - 启动 PyCharm 时连接到远程解释器

python - Appengine 反向引用 - 需要复合索引吗?

python - 查找两个日期时间点之间的所有数据

python - 旋转图形而不是图例

javascript - Django Channels Websockets 立即连接和断开连接

python - 将 elem.send_keys 用于页面中的句柄 "Infinite Scroll"。在 Python 中使用 Selenium PhantomJS