Python 箱线图、Matplotlib内的观测数量
您好,我正在尝试使用matplotlib显示箱线图内的观察数 一些虚假数据举例如下:Python 箱线图、Matplotlib内的观测数量,python,pandas,matplotlib,Python,Pandas,Matplotlib,您好,我正在尝试使用matplotlib显示箱线图内的观察数 一些虚假数据举例如下: data1 = [150, 155, 175, 200, 245, 255, 395, 300, 305, 320, 375, 400, 420, 430, 440] data2 = [225, 380,325] fake_data = pd.DataFrame([data1, data2]).transpose() fake_data.columns = ['data1','data2'] bp = fake
data1 = [150, 155, 175, 200, 245, 255, 395, 300, 305, 320, 375, 400, 420, 430, 440]
data2 = [225, 380,325]
fake_data = pd.DataFrame([data1, data2]).transpose()
fake_data.columns = ['data1','data2']
bp = fake_data.boxplot()
我没有找到合适的方法来做那件事。但我知道使用seaborn是有办法的,但我想使用matplotlib 将数据放在中间线以上会造成一些混乱。因为您更喜欢使用中间值数据来定位位置,然后在绘图中添加非空值之和作为文本,即
bp = fake_data.boxplot()
x = np.arange(fake_data.shape[1])
noofobs = fake_data.notnull().sum().astype(int)
for tick,label in zip(x,bp.get_xticklabels()):
bp.text(x[tick]+1, fake_data.median()[tick] + 1, noofobs[tick],
horizontalalignment='center', color='blue', weight='bold')
plt.show()
将数据放在中间线以上会造成一些混乱。因为您更喜欢使用中间值数据来定位位置,然后在绘图中添加非空值之和作为文本,即
bp = fake_data.boxplot()
x = np.arange(fake_data.shape[1])
noofobs = fake_data.notnull().sum().astype(int)
for tick,label in zip(x,bp.get_xticklabels()):
bp.text(x[tick]+1, fake_data.median()[tick] + 1, noofobs[tick],
horizontalalignment='center', color='blue', weight='bold')
plt.show()
我同样需要按名为“源”的类别绘制方框图,但我的数据格式很长: 来源 价值 数据1 150 数据1 155 ... ... 数据2 225 数据2 380 ... ...
我同样需要按名为“源”的类别绘制方框图,但我的数据格式很长: 来源 价值 数据1 150 数据1 155 ... ... 数据2 225 数据2 380 ... ...
没有列名的数据会导致歧义。我们应该把哪一个看作是观察不?您面临的错误是什么?很抱歉,数据集不完整。实际上,观察的数量是数据的长度,即15和3,我想放在箱线图中。何时在图中插入观察的数量?在方框上方?@Bharath在中间线上方是okeyData,没有列名会导致歧义。我们应该把哪一个看作是观察不?您面临的错误是什么?很抱歉,数据集不完整。实际上,观察的数量是数据的长度,即15和3,我想放在箱线图中。何时在图中插入观察的数量?在盒子上方?@Bharath就在中间线上方,很感谢你。你让我开心,谢谢你。你让我开心。