公众号:尤而小屋
作者:Peter
编辑:Peter大家好,我是Peter~
很久没有更新Plotly相关的文章,国庆这几天终于干了一篇。选择的主题是: 玩转Plotly图例设置 ,也是一直以来都想写的一个话题,文章的主要内容为:
barmode="stack", # 柱状图模式 facet_col="sex", # 切面图的列元素 category_orders={"day": ["Thur", "Fri", "Sat", "Sun"], # 自定义顺序 "smoker": ["Yes", "No"], "sex": ["Male", "Female"]}) fig.update_layout(legend_traceorder="reversed") # 设置顺序 fig.show()通过plotly.graph_objects绘图
我们主要是通过参数 legendrank 来设置顺序 。注意: plotly的版本必须在V5.0及以上
pip install --upgrade plotly # 升级版本
如果我们不使用legendrank参数:
fig = go.Figure() # 添加4个不同的轨迹数据 fig.add_trace(go.Bar(name="first", x=["a", "b"], y=[21,27])) fig.add_trace(go.Bar(name="second", x=["a", "b"], y=[32,18])) fig.add_trace(go.Bar(name="third", x=["a", "b"], y=[11,32])) fig.add_trace(go.Bar(name="fourth", x=["a", "b"], y=[21,13])) fig.show()
上面图例出现的顺序就是first 、second、third、fourth的顺序,也就是在添加轨迹数据的顺序。
下面我们使用legendrank参数:
fig = go.Figure() # 添加4个不同的轨迹数据 fig.add_trace(go.Bar(name="second", # 2 x=["a", "b"], y=[32,18], legendrank=2)) fig.add_trace(go.Bar(name="third", # 3 x=["a", "b"], y=[11,32], legendrank=3)) fig.add_trace(go.Bar(name="first", # 1 x=["a", "b"], y=[21,27], legendrank=1)) fig.add_trace(go.Bar(name="fourth", # 4 x=["a", "b"], y=[21,13], legendrank=4)) fig.show() fig.update_layout(legend=dict( # orientation="h", # 控制水平显示 yanchor="bottom", # 分别设置xy轴的位置和距离大小 y=1.02, xanchor="right", fig.show()