使用Plotly绘制三元图时如何调换B、C轴实现顺时针ABC顺序
解决方法
你只需要做两处修改即可实现B、C轴位置互换,将顺时针顺序调整为ABC:
- 互换
px.scatter_ternary()中b和c参数传入的数据 - 互换
update_layout中baxis和caxis的标题配置
修改后的完整代码如下:
fig = px.scatter_ternary(df_small, a=df_small.Toluene, # 互换b、c传入的原始数据 b=df_small.Ethylbenzene, c=df_small.Benzene, size_max = 10, opacity = [1,1], symbol_sequence = [1,0]) fig.update_layout({'ternary': {'sum':1, 'aaxis':{'title': ' A <br>','min': 0, 'linewidth':2, 'ticks':'outside', 'tickmode':'array','tickvals':[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]}, # 互换b、c轴的标题配置 'baxis':{'title': '<br>C', 'min': 0, 'linewidth':2, 'ticks':'outside', 'tickmode':'array','tickvals':[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]}, 'caxis':{'title': '<br>B', 'min': 0, 'linewidth':2, 'ticks':'outside', 'tickmode':'array','tickvals':[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]}}}) fig.show()
原理说明
Plotly三元图默认的轴位置固定:a轴在三角形顶部、b轴在三角形右下角、c轴在三角形左下角,顺时针顺序天然为a→b→c。你只需把对应维度的数据和标题匹配到对应位置的轴上,即可调整整体顺序,无需修改其他样式参数。
内容的提问来源于stack exchange,提问作者Ann
相关产品推荐
相关产品推荐

