【发布时间】:2014-07-02 19:58:16
【问题描述】:
这可能是我正在尝试制作的一个不寻常的图表,所以我附上了一张插图。我不确定在matplotlib中是否可行,所以我想我会在这里询问如何做到这一点。
http://i.imgur.com/96JRIN2l.jpg
基本上,我想在其一侧绘制一个直方图(带有hist()),然后在顶部,覆盖一个折线图(带有plot()),保持两侧的y轴相同。
此外,我认为它只有在直方图的不透明度可以较低时才有效。不确定是否可以为每个绘图而不是每个图形设置不透明度。
到目前为止的代码:
import numpy as np
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax1 = fig.add_subplot(111)
line = [0.2, 0.3, 0.37, 0.4, 0.6, 0.7, 0.72, 0.75, 0.77, 0.78, 0.79, 0.795]
distribution = [0.2, 0.3, 0.3, 0.4, 0.7, 0.7, 0.7, 0.8]
plt.hist(distribution, orientation='horizontal')
plt.plot(range(len(line)), line, color='grey')
plt.savefig("test.png")
直方图不显示。
我该怎么做?
【问题讨论】:
-
那么问题是你还没有弄清楚如何共享X轴,或者只是直方图的不透明度?
-
对不起,我应该澄清一下。问题是如何 1)在右侧制作横向直方图,2)如何降低其不透明度,以及 3)叠加线图。根本不需要共享 x 轴。
-
不透明度称为“alpha” - 值是从 0 到 1,其中 1 是不透明的。我的直方图有问题,更不用说右侧了。
-
我不明白条形长度与时间的关系。
标签: python matplotlib