python - 更改使用 seaborn.factorplot 创建的条形图中条形的宽度

标签 python pandas matplotlib

我正在尝试使用 seaborn.factorplot 创建条形图。我的代码如下所示:

 import seaborn
 import matplotlib.pyplot as plt 

df=pd.read_csv('data.csv')

 fg = seaborn.factorplot(x='vesselID', y='dur_min', hue='route', size=6,aspect=2    ,kind='bar', data=df)

我的data.csv是这样的

 ,route,vesselID,dur_min
 0,ANA-SJ,13,39.357894736842105
 1,ANA-SJ,20,24.747663551401867
 2,ANA-SJ,38,33.72142857142857
 3,ANA-SJ,69,37.064516129032256
 4,ED-KING,30,22.10062893081761
 5,ED-KING,36,21.821428571428573
 6,ED-KING,68,23.396551724137932
 7,F-V-S,1,13.623239436619718
 8,F-V-S,28,14.31294964028777
 9,F-V-S,33,16.161616161616163
 10,MUK-CL,18,13.953191489361702
 11,MUK-CL,19,14.306513409961687
 12,PD-TAL,65,12.477272727272727
 13,PT-COU,52,27.48148148148148
 14,PT-COU,66,28.24778761061947
 15,SEA-BI,25,30.94267515923567
 16,SEA-BI,32,31.0
 17,SEA-BI,37,31.513513513513512
 18,SEA-BR,2,55.8
 19,SEA-BR,13,57.0
 20,SEA-BR,15,54.05434782608695
 21,SEA-BR,17,50.43859649122807

please click here to see the output

现在我的问题是如何更改栏的宽度,我无法通过更改大小和纵横比来实现。

最佳答案

在我的例子中,我不必定义一个自定义函数来改变上面建议的宽度(顺便说一下,这对我不起作用,因为所有的条都没有对齐)。我只是将属性 dodge=False 添加到 seaborn 绘图函数的参数中,这就成功了!例如

sns.countplot(x='x', hue='y', data=data, dodge=False);

请在此处查看其他引用资料:https://github.com/mwaskom/seaborn/issues/871

我的条形图现在看起来像这样:

enter image description here

关于python - 更改使用 seaborn.factorplot 创建的条形图中条形的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888058/

相关文章:

python - matplotlib 相当于 skimage.io.imread(fname, as_grey=True)?

python - rq (redis queue) work-horse 意外终止,关于如何调试的建议?

python - 在 GeoDataFrame 中查找不重叠的多边形

python - 通过 virtualenv 在 Mac 上安装旧版本的 Python

python - nltk 的新手,条件频率有问题

python - 如何将日期设置为该月的第一个日期?

matplotlib - PTVS 在 python 调试交互中使用 matplotlib 绘制 pandas 数据帧和系列

python - 在python中过滤日期格式

python - 在 Pandas 数据框中四舍五入一列

python - PyCharm 如何在 macOS 上创建一个与 Matplotlib 一起工作的 virtualenv?