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

如何使用gnuplot绘制分组箱线图并设置特殊对数纵轴刻度

Gnuplot分组箱线图实现方案

1. 纵轴特殊刻度设置

要实现形如10^1、10^2的指数格式纵轴刻度,分两种场景处理:

  • 如果你需要的是对数刻度(数值跨度大、按10的幂次均匀分布):
    开启对数轴+自定义刻度格式即可,对应代码:
    set logscale y # 开启y轴对数刻度
    set format y "10^{%L}" # %L自动提取对数后的指数,渲染为上标格式
    set ytics 10 # 可选:指定刻度按10的倍数间隔显示
    
  • 如果你不需要对数轴,只是要把普通线性刻度的值显示为10的幂次格式:
    直接设置刻度格式即可,对应代码:
    set format y "10^{%T}" # %T自动计算数值对应的10的指数
    

2. 分组箱线图绘制方法

你的数据按「水果类型」为大组,每组内包含A、B、C三家公司的价格分布,我们通过同组箱线位置偏移的方式实现分组,避免箱线重叠。

第一步:整理测试数据

将你给出的测试数据整理为gnuplot可读取的文本文件,命名为fruit_price.dat,内容如下:

# 列1:苹果价格 列2:香蕉价格 列3:橙子价格
# A公司数据
1.2 2.2 3.1
1.3 2.1 3.3
1.4 2.4 3.4
1.1 2.5 3.5
# B公司数据
1.2 2.2 3.1
1.3 2.1 3.3
1.4 2.4 3.4
1.1 2.5 3.5
# C公司数据
2.2 3.2 2.1
1.3 3.1 3.3
1.4 3.4 1.4
2.1 2.5 2.5

第二步:完整绘图代码

# 输出设置,可根据需要替换为qt、wxt等交互式终端
set terminal pngcairo size 800,600 font "Arial,10"
set output "group_boxplot.png"

# 纵轴设置(按你需要的指数刻度调整,不需要对数可以删掉set logscale y)
set logscale y
set format y "10^{%L}"
set ylabel "价格"
set yrange [0.5:10] # 可选:自定义纵轴范围

# 横轴设置,三个大组对应横轴位置1、2、3
set xtics ("苹果" 1, "香蕉" 2, "橙子" 3)
set xrange [0.5:3.5]
set xlabel "水果类型"

# 箱线样式设置
set style fill solid 0.6 border -1
set style boxplot outliers pointtype 7 pointsize 0.5 # 异常点样式
boxwidth = 0.18 # 单个箱线的宽度
offset = 0.2 # 同组内箱线的偏移距离

# 绘图:同个水果的三个公司箱线分别偏移-0.2、0、+0.2,避免重叠
plot 'fruit_price.dat' using (1-offset):1 with boxplot lw 1.5 title 'A公司', \
     '' using (1):1 with boxplot lw 1.5 title 'B公司', \
     '' using (1+offset):1 with boxplot lw 1.5 title 'C公司', \
     '' using (2-offset):2 with boxplot lw 1.5 notitle, \
     '' using (2):2 with boxplot lw 1.5 notitle, \
     '' using (2+offset):2 with boxplot lw 1.5 notitle, \
     '' using (3-offset):3 with boxplot lw 1.5 notitle, \
     '' using (3):3 with boxplot lw 1.5 notitle, \
     '' using (3+offset):3 with boxplot lw 1.5 notitle

运行代码后即可得到按水果分组、每家公司对应一个箱线的分组箱线图,不需要对数刻度的话删除set logscale y相关的行即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:15:05