如何调整三元图的坐标轴刻度顺序?可将AC轴0.1-1刻度反向为1-0.1吗?
三元图坐标轴刻度反向设置说明
主流三元图可视化工具均支持坐标轴刻度反向设置,可实现将AC轴刻度范围从0.1-1调整为1-0.1的需求,不同工具的实现方式如下:
Python 生态实现方案
python-ternary库
- 自定义生成逆序刻度数组后,赋值给对应轴的ticks和ticklabels属性即可,示例代码:
import ternary import numpy as np # 生成1到0.1、步长0.1的逆序刻度 reverse_ticks = np.arange(1, 0.09, -0.1) fig, ax = ternary.figure(scale=1.0) # 需先确认AC轴对应库内的轴标识,通常左轴对应AC轴时使用如下配置 ax.left_axis.set_ticks(reverse_ticks) ax.left_axis.set_ticklabels([f"{i:.1f}" for i in reverse_ticks])
Plotly 三元图
- 直接修改对应轴的
autorange参数为reversed即可,无需手动生成刻度:
import plotly.express as px # 假设你的数据集为df,A、C为对应轴字段 fig = px.scatter_ternary(df, a="A", b="B", c="C") fig.update_ternary(aaxis_autorange="reversed")
R 生态实现方案(ggtern包)
- 直接在对应轴的scale方法中传入逆序的
limits参数即可,示例代码:
library(ggtern) # 假设你的数据集为df,A、B、C为对应三元轴字段 ggtern(data = df, aes(x = A, y = B, z = C)) + geom_point() + # 反转AC轴刻度范围,limits按反转后的上下限填写 scale_T_continuous(limits = c(1, 0.1))
注意:不同库对三元图三个轴的命名、映射规则存在差异,修改前请先确认你要调整的AC轴对应库内的官方轴标识,避免修改错误
参考效果示意图:
内容的提问来源于stack exchange,提问作者Ann
相关产品推荐
相关产品推荐

