我正在尝试使用Pandas Dataframe的boxplot
功能,但是我的某些功能与其他功能的比例不同,这使图表看起来很糟糕,无法读取最小的Y值。 / p>
这是我的代码:
df.boxplot(by='label', figsize=(30,30))
然后我得到一个4 x 4图表的网格,每个网格都有4个正确的标签。
但是,不会针对每个图表单独调整最大值的比例。
有没有办法解决这个问题?谢谢 !
更新:
这是我尝试过的事情:
charts = df.boxplot(by='label', figsize=(30,30), return_type='axes')
for ax in charts:
y_axe_name = ax.get_title()
min_value = all_data[y_axe_name].min()
max_value = all_data[y_axe_name].max()
ax.set_ylim(0, max_value + (20 * max_value / 100))
plt.show()
我受到Set y-axis scale for pandas Dataframe Boxplot(), 3 Deviations?的启发,但仍然无法正常工作。图表仍共享相同的y轴。
答案 0 :(得分:0)
我发现最好的解决方法是规范化数据集:
def normalized(df, column_name):
df[column_name].fillna(value=0, inplace=True)
df[column_name] = df[column_name] / df[column_name].max()
return df
那样,y比例在0到1之间。