翻转matplotlib中的绘图

时间:2015-04-27 22:13:41

标签: python numpy matplotlib

我正在用matplotlib创建一个情节

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1);
y = np.sin(x)
plt.plot(x, y)

我可以翻转绘图,使y轴反转,所有正值都为负,反之亦然?

我知道我可以乘以-1并使用invert_yaxis但是我想知道是否有一个函数可以在不改变值的情况下翻转它。

2 个答案:

答案 0 :(得分:3)

尝试以下功能:

plt.gca().invert_yaxis()

答案 1 :(得分:2)

使用 plt.ylim 将 y 限制从 (-1.1,1.1) 反转到 (1.1,-1.1) 就可以了...

x = np.linspace(0, 2*np.pi, 63)
y = np.sin(x)
plt.plot(x, y)  
plt.ylim(1.1,-1.1)

请注意,(1.1,-1.1) 仅比 y.max()y.min() 值上下 10%,防止 y 线接触图形框。另请注意,x =np.arange(0, 5, .1) 不涵盖完整的正弦周期,2 pi 弧度...x = np.linspace(0, 2*np.pi, 63) 使用 len(x) 提供的相同 np.arange(0, 5, .1) 解决了这个小问题。