如何修复Plotly柱状图首尾周六条形显示半截的问题?
修复Plotly柱状图首尾条形半截的问题
问题原因
你手动设置的x轴range范围刚好截断了首尾柱子的显示:因为柱状图的柱子以width=0.5的宽度(对应0.5天)居中在目标日期上,range=('2024-06-08', '2024-06-15')的起始和结束都是午夜时间,刚好切掉了6月8日柱子的左半部分,以及6月15日柱子的右半部分。
解决方案
方案1:调整x轴范围,给首尾留出柱子宽度空间
把x轴的起始时间提前半天,结束时间延后半天,确保完整包含首尾柱子:
nf = px.bar(dmt, x='date', y='Nutrition', title="Nutrition Scores", width=0.5) # 调整range为提前和延后半天的时间点 nf.update_xaxes(range=('2024-06-07 12:00', '2024-06-16 12:00'), tickmode='linear', tickformat='%a <br> %d', title=None) nf.update_yaxes(title='Nutrition') nf.update_layout(title_x=0.5, plot_bgcolor="white", paper_bgcolor="white") nf.update_traces(marker_color='#1e439d')
方案2:移除手动range设置,让Plotly自动适配范围
如果不需要强行固定x轴的起止日期,可以直接去掉range参数,让Plotly自动计算合适的x轴范围,确保所有柱子完整显示:
nf = px.bar(dmt, x='date', y='Nutrition', title="Nutrition Scores", width=0.5) # 移除range参数,保留其他x轴设置 nf.update_xaxes(tickmode='linear', tickformat='%a <br> %d', title=None) nf.update_yaxes(title='Nutrition') nf.update_layout(title_x=0.5, plot_bgcolor="white", paper_bgcolor="white") nf.update_traces(marker_color='#1e439d')
内容的提问来源于stack exchange,提问作者Jack Finnegan
相关产品推荐
相关产品推荐

