Python 交换邻域打印的轴
我有一个带有直方图的函数,如下所示:Python 交换邻域打印的轴,python,matplotlib,Python,Matplotlib,我有一个带有直方图的函数,如下所示: import matplotlib.pyplot as plt import numpy as np lin = np.linspace(min(foo), max(foo), len(foo)) plt.plot(lin, bar) plt.hist(bar, density=True, bins=100, histtype='stepfilled', alpha=0.2) plt.show() 其中foo和bar是简单数组 然而,我希望整个事情都是
import matplotlib.pyplot as plt
import numpy as np
lin = np.linspace(min(foo), max(foo), len(foo))
plt.plot(lin, bar)
plt.hist(bar, density=True, bins=100, histtype='stepfilled', alpha=0.2)
plt.show()
其中foo
和bar
是简单数组
然而,我希望整个事情都是垂直的。。。我可以将orientation='horizontal'
添加到直方图中,但它不会改变函数(从我所看到的情况来看,绘图没有类似的功能,显然它不是一个函数,而是一条曲线)。否则,我可以在某个地方添加plt.gca().invert_yaxis()
,但同样的问题仍然存在:plot
用于函数,所以它的交换是。。。那么,
所以,我现在唯一的方法是手动将整个原始图片旋转90度,但随后轴也被旋转,不再位于左侧和底部(显然)
那么,你还有别的想法吗?也许我应该试试别的,而不是plt.plot
编辑:在最后,我想像下面的图片一样,但轴做对了 我找不到任何处理该问题的matplotlib
方法。您可以用纯数学的方式旋转曲线,即通过曲线旋转。在这个简单的例子中,只交换变量x
和y
就足够了,但通常情况下是这样的(让我们以抛物线为例):
如果有y对x的绘图,可以通过交换阵列来交换轴:
plt.plot(bar, lin)
没有特殊功能,因为它是开箱即用的。正如您所发现的,绘制转置直方图可以通过传入来完成
orientation='horizontal'
我会用我想要的图像编辑你可以交换你的x和y。。。。
plt.plot(bar, lin)
orientation='horizontal'