分割轴的范围,以减少空白

发布于 2025-01-11 04:42:11 字数 253 浏览 0 评论 0原文

我想删除图表中未与其他数据一起使用的特定 xtic 值(小时轴)。准确地说,我想保留以下 Xrange [0:5, 12:14],但不保留 xrange [6:11]。这是为了帮助分隔我的数据,因为未使用的空间目前正在将它们粉碎在一起。我将附上一张图片来形象化。感谢您的帮助graph example

我尝试了“set xrange [0:5, 12:14]”,但没有成功工作。

I would like to remove specific xtic values (hours axis) in my graph that are not being used with other data. To be precise, I want to keep the following Xranges [0:5, 12:14], but not the xrange [6:11]. This is to help space out my data, since the unused space is currently smashing them together. I will attach a picture to visualize. Thank you for any helpgraph example

I tried 'set xrange [0:5, 12:14]' but it did not work.

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

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

发布评论

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

评论(1

暮色兮凉城 2025-01-18 04:42:11

了解数据的确切结构非常重要,因为绘图代码需要适应它。
对于以下示例,数据结构如下:

  • 由双空行分隔的 7 个块,其中包含 xy z 数据。
  • 每个块都有一个恒定的 x 值(来自值 0 1 2 3 5 12 14),而 y 和 z 则不同。
  • 如果您有双空行,您可以通过 index 寻址这些块(检查帮助索引)。
  • x 值不等距,但您基本上想让它们看起来等距。
    为此,您可以使用伪列 -2(查看 helppseudocolumns),其中包含从 0 开始的块号。
  • xtic 标签从第 1 列开始使用(查看 helpxticlabels )。

代码:

### plot "non-equidistant" data equidistant
reset session

# create some test data
set print $Data
    do for [x in "0 1 2 3 5 12 14"] {
        do for [y=-40:40] {
            print sprintf("%s %g %g", x, y, (16-x)*cos(0.05*y)**2)
        }
        print "\n\n"
    }
set print

set xyplane at 0
set grid x,y
set view 60,140
set key at screen 0.3, screen 0.95 noautotitle
set xrange [-0.5:6.5]

splot for [i=0:6] $Data u -2:2:3:xtic(1) index i w l lc i
### end of code

结果:

在此处输入图像描述

It is important to know the exact structure of the data because the plotting code needs to adapt to it.
For the following example the data structure is as follows:

  • 7 blocks separated by double blank lines with x y z data.
  • Each block has a constant x value (from the values 0 1 2 3 5 12 14) whereas y and z vary.
  • If you have double blank lines you can address the blocks via index (check help index).
  • The x values are not equidistant, but you basically want to make them appear equidistant.
    For this, you can use the pseudocolumn -2 (check help pseudocolumns) which contains the block number starting from 0.
  • The xtic label is used from column 1 (check help xticlabels).

Code:

### plot "non-equidistant" data equidistant
reset session

# create some test data
set print $Data
    do for [x in "0 1 2 3 5 12 14"] {
        do for [y=-40:40] {
            print sprintf("%s %g %g", x, y, (16-x)*cos(0.05*y)**2)
        }
        print "\n\n"
    }
set print

set xyplane at 0
set grid x,y
set view 60,140
set key at screen 0.3, screen 0.95 noautotitle
set xrange [-0.5:6.5]

splot for [i=0:6] $Data u -2:2:3:xtic(1) index i w l lc i
### end of code

Result:

enter image description here

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