我想将我的数据可视化为箱形图,这些框图按照我的可怕图纸中显示的另一个变量进行分组:

所以我所做的就是使用pandas系列变量来告诉大熊猫我已经对变量进行了分组,这就是我所做的:
import pandas as pd
import seaborn as sns
#example data for reproduciblity
a = pd.DataFrame(
[
[2, 1],
[4, 2],
[5, 1],
[10, 2],
[9, 2],
[3, 1]
])
#converting second column to Series
a.ix[:,1] = pd.Series(a.ix[:,1])
#Plotting by seaborn
sns.boxplot(a, groupby=a.ix[:,1])
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:

但是,我原本期望获得的是两个箱图,每个箱图仅描述第一列,按第二列中的相应列(转换为系列的列)分组,而上图则分别显示每列不是什么我想要.
为什么这个matplotlib代码给了我一个奇怪的例外?我要去两排地块.顶行应该显示真实与pred,底行应该显示百分比误差.
yy = func(*X)
fig, axes = plt.subplots(1, len(X))
for ax,_x in zip(axes,X):
ax.plot(_x, y, 'b.')
ax.plot(_x, yy, 'r.')
fig, axes = plt.subplots(2, len(X))
for ax,_x in zip(axes,X):
ax.plot(_x, yy/y-1, 'r.')
plt.show()
Run Code Online (Sandbox Code Playgroud)
追溯:
File "pysr.py", line 235, in main
ax.plot(_x, yy/y-1, 'r.')
AttributeError: 'numpy.ndarray' object has no attribute 'plot'
Run Code Online (Sandbox Code Playgroud)