我想創建一個可變寬度x軸箱子在Seaborn條形圖。與此圖表類似: 我所有的寬度都會加起來達到100%,但我似乎無法找到如何通過Seaborn完成此目標的示例。有任何想法嗎?可變寬度barplot與seaborn
1
A
回答
1
這裏可能有幾個可能的答案。在seaborn barplot中,可以使用幾個參數的組合:「寬度」(條的寬度值),「左」(x軸上的位置值,這是強制參數)和「對齊」。
一個非常簡單的例子:
import seaborn as sns
data = [7, 3, 15]
widths = [1, 5, 3]
left = [0, 1, 6]
sns.plt.bar(left, data, width = widths, color=('orange','green','blue'),
alpha = 0.6, align='edge', edgecolor = 'k', linewidth = 2)
注意,「左」(酒吧位置)應當對應於寬度,以使杆到剛好接觸和不重疊。
+0
通過使用'sns.plt.bar',你可以調用matplotlibs'plt.bar'函數。這與海豹無關。 – ImportanceOfBeingErnest
0
如果你想使用Seaborn爲barplot,您需要更改的吧矩形的寬度(補丁)之後(這是通過matplotlib面向對象接口,完成按this answer):
import seaborn as sns
iris = sns.load_dataset('iris')
ax = sns.barplot('species', 'sepal_width', data=iris)
widthbars = [0.3, 0.6, 1.2]
for bar, newwidth in zip(ax.patches, widthbars):
x = bar.get_x()
width = bar.get_width()
centre = x + width/2.
bar.set_x(centre - newwidth/2.)
bar.set_width(newwidth)
你也可以在matplotlib創建一個類似barplot直接:
import matplotlib.pyplot as plt
widths = [0.3, 0.6, 1.2]
for x_pos, (species_name, species_means) in enumerate(iris.groupby('species').mean().groupby('species')):
plt.bar(x_pos, species_means['sepal_width'], widths[x_pos])
相關問題
- 1. 如何在seaborn barplot上設置寬度
- 2. ggplot2 barplot中的可變寬度條R
- 3. 將seaborn barplot與matplotlib.plot結合()
- 4. Seaborn Distplot和Barplot
- 5. Seaborn Barplot - 顯示值
- 6. ggplot2 barplot相同寬度
- 7. 陰影的寬度線barplot
- 8. 有迴歸線的Seaborn barplot
- 9. 項目與可變寬度上GridLayoutManager
- 10. 控制一個barplot的總寬度
- 11. 在barplot中精確控制條寬度
- 12. Matplotlib/Seaborn barplot - x軸中的字符串
- 13. Seaborn解決方法色調barplot
- 14. 如何更改順序barplot seaborn
- 15. 刪除Seaborn barplot圖例標題
- 16. Seaborn使用數據框的水平barplot
- 17. Horizontallist可變寬度
- 18. 忽略寬度可變
- 19. Bxslider可變/增量寬度
- 20. css可變寬度2盒
- 21. 可變寬度網站
- 22. jQuery可變寬度滑塊
- 23. Highchart提示可變寬度
- 24. XTickLabel可變intervalls在barplot
- 25. preg_replace()與可變順序的src,高度和寬度
- 26. 展開與可變高度和寬度的div
- 27. sapui5 VizFrame與響應網格可變寬度/跨度
- 28. 中心兩個可變寬度的CSS divs與固定與
- 29. 如何增加seaborn facetgrid圖中xaxis刻度之間的寬度?
- 30. 兩個固定寬度區間之間的可變寬度div(最小寬度)
沒有理由使用seaborn條形圖用於這一目的。改爲使用'pyplot.bar'。 – ImportanceOfBeingErnest