在gnuplot中图形上点之间的间距

huangapple go评论68阅读模式
英文:

Spacing between points in graph in gnuplot

问题

如图所示,可以看到在某个点之后,点变得过于拥挤。如何增加该区域中点之间的间距?

代码:

set term jpeg size 1800,900
set output "plot.jpeg"

splot "3d_ME2_31.out" us 1:2:3 lc -1 

set grid

set output

我已经尝试过"every"命令,但它会增加起始区域的点间距,而起始区域的点间距已经很高。

任何建议都会很有帮助。谢谢!

英文:

在gnuplot中图形上点之间的间距

As can be seen in the picture attached, the points become too cluttered after a certain point. How do I increase the spacing between points in that region?
Code:

set term jpeg size 1800,900
set output "plot.jpeg"

splot "3d_ME2_31.out" us 1:2:3 lc -1 

set grid

set output

I have tried the "every" command but it increasing the spacing in the beginning region too where the point spacing is already high.

Any advice is appreciated. Thanks !

Edit: Data file ( the data to axes mapping is 1:2:3 )

0.94652E+03    0.46588E+02    0.82952E-01
0.94871E+03    0.61601E+02    0.16795E+00
0.95102E+03    0.74087E+02    0.29030E+00
0.95587E+03    0.94012E+02    0.65911E+00
0.95850E+03    0.10204E+03    0.91894E+00
0.96148E+03    0.10885E+03    0.12599E+01
0.96515E+03    0.11542E+03    0.17353E+01
0.96943E+03    0.12040E+03    0.23543E+01
0.97481E+03    0.12578E+03    0.32153E+01
0.98134E+03    0.13077E+03    0.43582E+01
0.98901E+03    0.13507E+03    0.58196E+01
0.99795E+03    0.13948E+03    0.76562E+01
0.10082E+04    0.14377E+03    0.99270E+01
0.10199E+04    0.14800E+03    0.12677E+02
0.10282E+04    0.14775E+03    0.14762E+02
0.10335E+04    0.14413E+03    0.16176E+02
0.10403E+04    0.14050E+03    0.18096E+02
0.10488E+04    0.13621E+03    0.20616E+02
0.10588E+04    0.13205E+03    0.23729E+02
0.10710E+04    0.12798E+03    0.27711E+02
0.10843E+04    0.12370E+03    0.32248E+02
0.10995E+04    0.11973E+03    0.37684E+02
0.11163E+04    0.11572E+03    0.43955E+02
0.11324E+04    0.11203E+03    0.50189E+02
0.11474E+04    0.10875E+03    0.56245E+02
0.11626E+04    0.10553E+03    0.62585E+02
0.11781E+04    0.10217E+03    0.69305E+02
0.11938E+04    0.99038E+02    0.76322E+02
0.12094E+04    0.96412E+02    0.83573E+02
0.12252E+04    0.94002E+02    0.91126E+02
0.12411E+04    0.91794E+02    0.98981E+02
0.12571E+04    0.89765E+02    0.10714E+03
0.12732E+04    0.87918E+02    0.11559E+03
0.12894E+04    0.86536E+02    0.12432E+03
0.13054E+04    0.84701E+02    0.13318E+03
0.13213E+04    0.82945E+02    0.14227E+03
0.13373E+04    0.81284E+02    0.15161E+03
0.13533E+04    0.79678E+02    0.16122E+03
0.13694E+04    0.78071E+02    0.17111E+03
0.13855E+04    0.76542E+02    0.18127E+03
0.14008E+04    0.74960E+02    0.19118E+03
0.14159E+04    0.73330E+02    0.20115E+03
0.14309E+04    0.71898E+02    0.21132E+03
0.14458E+04    0.70357E+02    0.22162E+03
0.14607E+04    0.68300E+02    0.23218E+03
0.14758E+04    0.66454E+02    0.24304E+03
0.14907E+04    0.64530E+02    0.25400E+03
0.15055E+04    0.62676E+02    0.26517E+03
0.15204E+04    0.60999E+02    0.27663E+03
0.15354E+04    0.59429E+02    0.28833E+03
0.15500E+04    0.57764E+02    0.30002E+03
0.15641E+04    0.56109E+02    0.31144E+03
0.15758E+04    0.53850E+02    0.32117E+03
0.15882E+04    0.51118E+02    0.33162E+03
0.16010E+04    0.48445E+02    0.34255E+03
0.16127E+04    0.45813E+02    0.35263E+03
0.16249E+04    0.43266E+02    0.36339E+03
0.16373E+04    0.40811E+02    0.37449E+03
0.16498E+04    0.38485E+02    0.38581E+03
0.16620E+04    0.36479E+02    0.39707E+03
0.16742E+04    0.34549E+02    0.40846E+03
0.16860E+04    0.32632E+02    0.41963E+03

答案1

得分: 1

你可以使用样式with linespointspointinterval属性在全局范围内进行点数减少,但要将其限制在特定区域会更复杂。如果你想隐藏线条,可以将线型设置为"nodraw":with linespoints lt nodraw pi 5。但这会使你回到与使用every筛选点相同的结果。使用pointinterval的好处是,线条会通过所有点,尽管并非所有点都显示出来。因此,线条中的转折点可以突出显示可能会被隐藏的异常值。

# 每隔5个点绘制
splot 'DATA' with linespoints pointinterval 5

在gnuplot中图形上点之间的间距

英文:

It would be complicated to limit the point reduction to a certain region, but you can do it globally using the pointinterval property of the style with linespoints. If you want to hide the line you can set the linetype to "nodraw": with linespoints lt nodraw pi 5. But that would get you back to the same result as using every to filter the points. The nice thing about using pointinterval instead is that the line goes through all the points even though not all of them are shown. So a jog in the line can highlight an outlier that might otherwise be hidden.

#Plot every 5th point
splot 'DATA' with linespoints pointinterval 5

在gnuplot中图形上点之间的间距

答案2

得分: 0

我会说,你的数据点看起来是否混乱或拥挤,不仅取决于你的数据,还取决于你的视角。
如果你有这么多数据点,为什么不简单地用“with lines”来绘制呢?或者像Ethan建议的那样,使用“with linespoints”和特定的“pointinterval”或“pointnumber”(查看“help lp”)。

脚本:

set multiplot layout 2,1

    set view 60,30
    splot $Data u 1:2:3 w p pt 1

    set view 71,333
    splot $Data u 1:2:3 w p pt 1
unset multiplot

结果:(相同的数据点,只是不同的视角)

在gnuplot中图形上点之间的间距

英文:

I would say whether your data points look cluttered or cramped does not only depend on your data but also on your viewpoint.
If you have so many data points why don't you simply plot it with lines? Or as Ethan suggested with linespoints and a certain pointinterval or pointnumber (check help lp).

Script:

set multiplot layout 2,1

    set view 60,30
    splot $Data u 1:2:3 w p pt 1

    set view 71,333
    splot $Data u 1:2:3 w p pt 1
unset multiplot

Result: (same datapoints just different viewing angles)

在gnuplot中图形上点之间的间距

huangapple
  • 本文由 发表于 2023年2月14日 00:40:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/75438778.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定