【发布时间】:2019-08-11 03:38:22
【问题描述】:
我在 python 3.x 中使用 sns.boxplot 和 pandas.DataFrame.boxplot 绘制箱线图。
我想问是否可以调整 boxplot 中框之间的间距,因此 Group_b 的框比输出图中的 Group_a 的框更远。谢谢
代码:
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
dict_a = {'value':[1,2,3,7,8,9],'name':['Group_a']*3+['Group_b']*3}
dataframe = pd.DataFrame(dict_a)
sns.boxplot( y="value" , x="name" , data=dataframe )
输出图:
dataframe.boxplot("value" ,by = "name" )
输出图2:
【问题讨论】:
-
箱线图之间的间距是一个数据单元。轴大约是两个数据单元宽。如果将轴限制为 1.3 个单位,则框之间的相对间距会更大,并且它们在屏幕上会显得更远。不确定这就是你所追求的。在这里,对预期结果的清晰描述可能会有所帮助。
-
作为骗子关闭它。使用
dataframe.boxplot("value", by = "name", positions=[1,10])在两个框之间留出较大的间距。根据您希望它们彼此之间的距离来选择数字 -
另一个相关答案here
-
@Echan:检查标记的骗子上的第一个答案。一旦可以在 DataFrame 中插入一列 x 值,然后将其用作 x 参数。稍后,可以用您的字符串替换 x-ticklabels。检查我发布的第二个链接
标签: python matplotlib plot