如何防止标签重叠

发布于 2024-10-14 09:34:32 字数 236 浏览 0 评论 0原文

我正在运行以下命令在 gnuplot 中绘制一些 X,Y 点:

使用带有标签的 ($2+3):($3+3):1 绘制“Output.tsv”,使用 2:3

Some 绘制“Output.tsv”数据点彼此非常接近,导致标签不可读。有没有办法让 gnuplot 消除/减少标签之间的重叠?

在此处输入图像描述

I am running the following command to draw a few X,Y points in gnuplot:

plot "Output.tsv" using ($2+3):($3+3):1 with labels, "Output.tsv" using 2:3

Some of the data points are very close to each other and it makes the label unreadable. Is there a way to ask gnuplot to eliminate/reduce the overlap between labels?

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓬勃野心 2024-10-21 09:34:32

我认为你可以考虑 3 个选项:

1)使你的图表很大并希望你的标签不重叠
2)将点绘制为不同的系列,每个项目都有自己的图例
3)使用字母而不是标签,您可以使用

plot "???" using 1:2
plot "" using 1:2:(stringcolumn(3) ne 'compare to' ? 'if equal' : 'if not equal' ) with labels

stringcolumn 函数在第 3 列中查找,在每个点放置一个字母,将值与字符串“compareto”进行比较,如果存在匹配,则在该位置放置“if equal”,否则“如果不等于”

因此,我在图表中看到类似模拟器的东西,您可以保留绿点并在其上放置一个S,

plot "" using 1:2:(stringcolumn(3) ne 'Simulator' ? 'S' : '' ) with labels

我希望这会有所帮助。

I think you could consider 3 options:

1) make your graph huge and hope your labels do not overlap
2) plot the points as different series with each item having its own legend
3) use letters instead of labels, you can put a letter at each point using

plot "???" using 1:2
plot "" using 1:2:(stringcolumn(3) ne 'compare to' ? 'if equal' : 'if not equal' ) with labels

the stringcolumn function looks in column 3, compares the value to the string 'compareto' and if there is a match it puts 'if equal' at that location, otherwise 'if not equal'

Hence, I see something like Simulator in your graph, you could keep the green point and put an S with it/on it using

plot "" using 1:2:(stringcolumn(3) ne 'Simulator' ? 'S' : '' ) with labels

I hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文