You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用python ternary包旋转三元图的坐标轴刻度标签?

python-ternary三元图刻度标签旋转解决方案

你之前尝试的方案无效,是因为ternary的ticks方法未内置旋转参数的传递逻辑,也不直接返回可设置旋转的轴对象,必须获取其生成的文本标签对象后单独配置旋转属性。

完整可运行代码

from matplotlib import pyplot as plt
import ternary

figure, ax = plt.subplots(figsize=(6, 6))
tax = ternary.TernaryAxesSubplot(ax=ax, scale=100)

# 绘制边界与网格线
tax.boundary(linewidth=2.0)
tax.gridlines(color="black", multiple=10)

# 生成刻度并获取返回的刻度对象,返回格式为(左轴数据, 底轴数据, 右轴数据),每个轴数据为(位置列表, 文本对象列表)
tick_objects = tax.ticks(
    axis='lbr',
    linewidth=1,
    multiple=20,
    offset=0.02,
    fontsize=12
)

# 分别设置三个轴的刻度标签旋转角度,可根据实际显示需求调整角度值
# 左轴标签
for text in tick_objects[0][1]:
    text.set_rotation(0)
# 底轴标签
for text in tick_objects[1][1]:
    text.set_rotation(-60)
# 右轴标签
for text in tick_objects[2][1]:
    text.set_rotation(60)

# 移除原生mpl坐标轴
tax.get_axes().axis('off')
tax.clear_matplotlib_ticks()
plt.show()

调整说明

如果标签和坐标轴距离不合适,可配合修改text.set_ha()(水平对齐)、text.set_va()(垂直对齐)参数,或者调整ticks方法的offset参数优化显示效果。


内容的提问来源于stack exchange,提问作者AlexWach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:57:00