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

如何实现Gnuplot混合刻度格式:<1000无小数,>1000保留一位小数

Gnuplot实现混合刻度格式方案

要实现小于1000时显示无小数整数、大于等于1000时显示带一位小数的k格式(1000优先显示为1k),可以利用Gnuplot的条件运算符和字符串格式化函数,直接在刻度格式设置中实现动态判断:

# 设置Y轴刻度格式:小于1000显示整数,1000显示1k,大于1000显示一位小数+k
set format y '%s' (y < 1000 ? sprintf("%.0f", y) : (y == 1000 ? "1k" : sprintf("%.1fk", y/1000)))

说明:

  • 利用Gnuplot的三元运算符? :对每个刻度值y做范围判断
  • 当y < 1000时,通过sprintf("%.0f", y)输出无小数的整数格式(如100、900)
  • 当y == 1000时,直接输出字符串"1k",满足优先显示1k的需求
  • 当y > 1000时,将数值除以1000后用sprintf("%.1fk", y/1000)输出带一位小数的k格式(如1.1k、1.5k)

如果可以接受1000显示为1.0k,可以简化命令:

set format y '%s' (y < 1000 ? sprintf("%.0f", y) : sprintf("%.1fk", y/1000))

该方案适用于Gnuplot 5.0及以上版本,能自动适配所有Y轴刻度值的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:36:06