以下代码生成了我的数据集的描述以及一个直方图,一个在另一个之上...
get_ipython().magic(u'matplotlib inline')
import matplotlib.pyplot as plt
import seaborn as sns
sns.distplot(dfx.hits, bins=20)
dfx.hits.describe()
(而不是我期望的顺序。)
结果如下:
但是我想要这些数字并排。这可能吗?
答案 0 :(得分:3)
詹姆斯的建议使用子图很有帮助,但是没有这个问题的答案那么详细:
Charles Parr的回答帮助我编写了这段代码:
fig = plt.figure(figsize=(10,4))
ax1 = fig.add_subplot(121)
ax1.hist(dfx.hits, bins=20, color='black')
ax1.set_title('hits x users histogram')
dfxx = dfx.hits.describe().to_frame().round(2)
ax2 = fig.add_subplot(122)
font_size=12
bbox=[0, 0, 1, 1]
ax2.axis('off')
mpl_table = ax2.table(cellText = dfxx.values, rowLabels = dfxx.index, bbox=bbox, colLabels=dfxx.columns)
mpl_table.auto_set_font_size(False)
mpl_table.set_fontsize(font_size)
生成直方图和描述的并排子图:
答案 1 :(得分:2)
您将要使用matplotlib的内置子绘图来绘制(2,1)图,并将第一个图放置在(0,0),第二个图放置在(1,0)。 您可以找到不好的官方文档here。
我建议您在python-course.eu here上查看该指南:
另外,其混乱的原因是因为您没有调用plt.show()或seaborn等价物,因此ipython在调用该图时将其吐到最后,而没有分配给其他位置。
类似于您是否拥有:
import matplotlib.pyplot as plt
plt.plot(range(10),range(10))
print("hello")
输出为:
>>hello
>>'Some Graph here'