使用matplotlib,我可以在一个图上制作两个数据集的直方图(一个紧挨着另一个,而不是重叠)。
import matplotlib.pyplot as plt
import random
x = [random.randrange(100) for i in range(100)]
y = [random.randrange(100) for i in range(100)]
plt.hist([x, y])
plt.show()
这产生了下面的图。
但是,当我试图这样做与seabron;
import seaborn as sns
sns.distplot([x, y])
出现以下错误:
ValueError: color kwarg must have one color per dataset
然后我尝试添加一些颜色值:
sns.distplot([x, y], color=['r', 'b'])
我也得到了同样的错误。我看到了this post关于如何叠加图表,但我希望这些直方图并排,而不是叠加。
看看文档,它没有指定如何将列表的列表作为第一个参数"a"。
我怎样才能实现这种风格的直方图使用海运?
2条答案
按热度按时间hc8w905p1#
如果我没理解错的话,你可能想试试这个:
这将生成如下图:
看起来您需要"海运外观"而不是海运绘图功能。为此,您只需要:
这将产生:
seaborn
版本0.12+:在
seaborn
v0.12之后,要获得海运样式的图,您需要:有关详细信息,请参见
seaborn docs
。8tntrjer2#
将x和y合并到DataFrame中,然后使用histplot和multiple='dodge'以及色调选项: