如何控制Plotly堆叠条形图中组间与组内条形的间距?
控制Plotly堆叠条形图的两种间距
你可以通过Plotly布局中的两个参数分别控制这两种间距:
- 组间间距(黄箭头标注:不同时间类别之间):用
bargap参数调整,取值范围0-1,数值越大间隙越宽 - 组内子项间距(黑箭头标注:同一时间下Cat与Dog之间):用
bargroupgap参数调整,取值范围0-1,数值越大间隙越宽
修改后的完整代码
import plotly.graph_objects as go x = [ ["10 minutes", "10 minutes", "30 minutes", "30 minutes", "60 minutes", "60 minutes"], ["Cat", "Dog", "Cat", "Dog", "Cat", "Dog"] ] fig = go.Figure() fig.add_bar(x=x,y=[1,2,3,4,5,6], name="increase") fig.add_bar(x=x,y=[9,8,7,6,5,4], name="decrease") fig.add_bar(x=x,y=[5,5,5,5,5,5], name="unchanged") fig.update_layout(barmode="stack", showlegend=True, template='plotly', bargap=0.3, # 控制"10 minutes"与"30 minutes"等时间组之间的间距 bargroupgap=0.4, # 控制同一时间组内Cat与Dog之间的间距 # height=500, # width=1000, ) fig.update_yaxes(ticks='outside', dtick=2, ticklen=10, linewidth=1, linecolor="black", tickfont=dict(size=20) ) fig.update_xaxes(ticks="", tickfont=dict(size=12), ) fig.show()
参数说明
bargap:控制不同顶级类别(如"10 minutes"和"30 minutes")整体之间的空白比例,默认值为0.1,调大后会让时间组之间的间隙更明显bargroupgap:控制同一顶级类别下不同子类别(如"10 minutes"下的Cat和Dog)之间的空白比例,默认值为0,调大后会拉开同一时间组内两个堆叠条形的间距
内容的提问来源于stack exchange,提问作者hans
相关产品推荐
相关产品推荐

