我正在用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
但是我想知道是否有一个函数可以在不改变值的情况下翻转它。
答案 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)
解决了这个小问题。