bis*_*smo 3 python matplotlib seaborn
我以前从未见过这个,但我正在制作的seaborn barplot 不会均匀地间隔条形......
代码
fig, ax = plt.subplots(figsize=(25,6))
sns.barplot(x=value.index, y="CustomerValue", data=value,
order=value.index, hue='Response')
plt.xticks(fontsize=10, rotation=90)
Run Code Online (Sandbox Code Playgroud)
数据
Response OrderCount OrderAvgSize AvgDeliverCost AvgOrderValue CustomerValue
CustomerID
508 Walmart+ 48 22 4.94 14.60 700.80
2007 Both Or None 51 21 4.91 13.46 686.46
698 Walmart+ 47 21 4.91 14.02 658.94
1664 Walmart+ 45 22 4.94 14.60 657.00
475 Walmart+ 45 22 4.94 14.60 657.00
575 Both Or None 51 20 4.87 12.88 656.88
1675 Both Or None 50 20 4.87 12.88 644.00
678 Both Or None 48 20 4.87 12.88 618.24
361 Both Or None 50 19 4.84 12.30 615.00
1627 Walmart+ 41 22 4.94 14.59 598.19
1902 Both Or None 53 17 4.76 11.14 590.42
295 Walmart+ 48 18 4.80 12.28 589.44
269 Both Or None 50 18 4.80 11.72 586.00
1814 Walmart+ 45 19 4.84 12.86 578.70
588 Walmart+ 38 23 4.97 15.17 576.46
2204 Both Or None 49 18 4.80 11.72 574.28
65 Both Or None 54 16 4.71 10.56 570.24
868 Walmart+ 36 24 4.31 15.75 567.00
1436 Walmart+ 42 20 4.87 13.43 564.06
1957 Walmart+ 42 20 4.87 13.43 564.06
1754 Walmart+ 43 19 4.84 12.85 552.55
2036 Walmart+ 43 19 4.84 12.85 552.55
679 Walmart+ 39 21 4.91 14.01 546.39
108 Walmart+ 44 18 4.80 12.28 540.32
605 Both Or None 46 18 4.80 11.72 539.12
1477 Walmart+ 40 20 4.87 13.43 537.20
1737 Walmart+ 38 21 4.91 14.01 532.38
186 Walmart+ 41 19 4.84 12.85 526.85
702 Walmart+ 37 21 4.91 14.01 518.37
1572 Walmart+ 37 21 4.91 14.01 518.37
1797 Walmart+ 38 20 4.87 13.43 510.34
572 Walmart+ 38 20 4.87 13.43 510.34
642 Walmart+ 32 24 4.31 15.74 503.68
1787 Walmart+ 39 19 4.84 12.85 501.15
387 Walmart+ 39 19 4.31 12.85 501.15
991 Walmart+ 39 19 4.84 12.85 501.15
1394 Walmart+ 39 19 4.84 12.85 501.15
1966 Walmart+ 33 23 4.97 15.16 500.28
1053 Walmart+ 35 21 4.91 14.00 490.00
216 Walmart+ 38 19 4.84 12.85 488.30
918 Walmart+ 38 19 4.84 12.85 488.30
1518 Walmart+ 49 14 4.62 9.96 488.04
565 Both Or None 46 16 4.71 10.56 485.76
845 Walmart+ 36 20 4.87 13.43 483.48
1757 Walmart+ 33 22 4.94 14.58 481.14
1983 Walmart+ 33 22 4.94 14.58 481.14
2152 Walmart+ 41 17 4.76 11.69 479.29
198 Both Or None 48 15 4.67 9.98 479.04
1990 Both Or None 48 15 4.67 9.98 479.04
1082 Walmart+ 39 18 4.80 12.27 478.53
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会这样?会不会是有刻度线的东西?我尝试改变大小和旋转但无济于事。如果条形间隔均匀并且位于各自刻度线的正上方,那么它看起来会更美观。只有当多个蓝色条后面有一个红色条时,才会出现这种情况。我不知道要尝试什么来解决这个问题......
这是因为您的数据每个刻度只有 1 个条形图,而hue每个刻度线应该有 2 个条形图(每个类别一个)。尝试传递dodge=False到sns.barplot:
sns.barplot(x=value.index, y="CustomerValue", data=value,
order=value.index, hue='Response', dodge=False)
Run Code Online (Sandbox Code Playgroud)
输出: