我有两个数据帧:df1有5000行和12列,df2有一行,12列和df1相同。我想在一个单独的子图上绘制每一列作为一个箱形图,其值来自df1,并用df2的散点图(每个箱图只有一个值)覆盖它。
更新:我尝试使用带有数字索引的转置df2。以下代码没有给我任何错误,但第二个boxplot上只有一个值可见..我看不到其余的
labels = df1.columns.values
fig, axes = plt.subplots(nrows = 3, ncols = 4,gridspec_kw=dict(hspace=0.4))
targets = zip(labels, axes.flatten())
for i, (col, ax) in enumerate(targets):
print col
pd.DataFrame(df1[col]).boxplot(ax=ax, return_tpe = 'axes')
ax.scatter(df2.index[i], df2['mycol'].values[i])
ax.legend()
plt.show()
尝试在这里附上图像,但我今天很慢...... https://drive.google.com/file/d/0B0Bhe_qx3BgGWkJUdE45UEJqSFk/view?usp=sharing
使用pandas绘图:
使用
轻松获取boxplot子图ax = df1.plot(subplots = True)
但我不知道如何为散点图指定y
ax = df2.plot(x = df2.plot.index, y = ???, subplots = True)