如何在Plotly中移除X轴标签的数值,仅保留名称
解决方法
要移除X轴标签中的数值,只保留名称,只需修改update_xaxes方法里的ticktext参数,直接使用原始的labels列表即可,不用再拼接宽度数值。
修正后的完整代码
import numpy as np import plotly.graph_objects as go labels = ["Example A","Example B","Example C","Example D","Example E","Example F","Example G","Example H","Example I","Example J","Example K","Example L","Example M","Example N","Example O","Example P","Example Q","Example R","Example S","Example T",] widths = np.array([7000,5000,4000,4000,3000,2000,2000,2000,2000,1800,1700,1500,1300,1200,1200,1100,1000,1000,1000,1000,]) data = { "5": [20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20], "4": [20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20], "3": [20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20], "2": [20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20], "1": [20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20],} fig = go.Figure() for key in data: fig.add_trace(go.Bar( name=key, y=data[key], x=np.cumsum(widths)-widths, width=widths, customdata=np.transpose([labels]), textposition="inside", insidetextanchor = "middle", )) # 补上原代码缺失的闭合括号 fig.update_xaxes( tickvals=np.cumsum(widths)-widths/2, ticktext=labels # 这里直接使用labels列表,不再拼接数值 ) fig.update_layout( barmode="stack", uniformtext=dict(mode="hide", minsize=18), height = 1000, width = 2000,) fig.show()
关键改动说明
原代码中ticktext是通过["%s<br>%d" % (l, w) for l, w in zip(labels, widths)]把标签名称和宽度数值拼接成带换行的文本,现在改成直接用labels,这样X轴刻度就只会显示每个示例的名称,不会附带对应的数值了。另外还补上了原代码中add_trace语句缺失的闭合括号,避免语法错误。
内容的提问来源于stack exchange,提问作者lbro
相关产品推荐
相关产品推荐

