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

Julia 绘图添加自定义坐标轴子标签及区间高亮实现问题

实现带X轴子标签与区间高亮的Julia绘图方案

以下是可直接运行的完整实现代码,完全保留原有图表内容与tax主标签:

using Plots

# 原有基础逻辑
tg = 0:0.001:0.7
points = rand(size(tg)[1])

sublabels =  fill("Julia", size(tg)[1] )
tab = [tg points]
sublabels[ tab[:,1] .<= 0.2 ] .= "A"
sublabels[ 0.2 .< tab[:,1] .<= 0.6 ] .= "B"
sublabels[ 0.6 .< tab[:,1] .<= 0.7 ] .= "C"
tab = [tab sublabels]

# 绘制基础图表
p = plot(tab[:,1], tab[:,2], xlabel = "tax", label="数据曲线")

# 第一步:高亮区间边界
vline!(p, [0.2, 0.6], linestyle=:dash, color=:red, alpha=0.7, label="区间边界")

# 第二步:添加X轴子标签
# 子标签默认放在曲线下方,可自行调整y值位置
y_sub = minimum(points) * 0.9
annotate!(p, 0.1, y_sub, text("A", 12, :center))
annotate!(p, 0.4, y_sub, text("B", 12, :center))
annotate!(p, 0.65, y_sub, text("C", 12, :center))

# 展示最终效果
display(p)

常用调整参数

  • 子标签位置:如果希望子标签放在X轴下方不占用绘图区域,可额外增加底部边距后调整注释的y坐标:
    plot!(p, bottom_margin=12Plots.mm)
    # 这里y值根据你的y轴实际范围调整,负数代表在y轴最小值以下
    annotate!(p, 0.1, -0.1, text("A", 12, :center))
    
  • 边界线样式:可修改linestyle(:solid/:dot等)、color、linewidth参数自定义样式。
  • 动态区间适配:如果区间规则不固定,可先遍历提取所有标签的区间上下限,自动计算中点位置生成注释,无需手动写坐标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:45:04