Graph gnuplot:在其他常规tic间隔中插入自定义xtic标签

Graph gnuplot:在其他常规tic间隔中插入自定义xtic标签,graph,gnuplot,Graph,Gnuplot,我实际上使用orgmode导出数据,所以我的数据只是以OrgTable的形式存在;那不要紧。是这样的: | Time | Video | Presentation | Paper | |-------+-------+--------------+-------| | 0 | 0 | 0 | 0 | | 20 | 54 | 63 | 38 | | 31.25 | 72 | 81 |

我实际上使用orgmode导出数据,所以我的数据只是以OrgTable的形式存在;那不要紧。是这样的:

|  Time | Video | Presentation | Paper |
|-------+-------+--------------+-------|
|     0 |     0 |            0 |     0 |
|    20 |    54 |           63 |    38 |
| 31.25 |    72 |           81 |    44 |
|   33. |    83 |           89 |    49 |
|   34. |    95 |          101 |    54 |
|  36.5 |   102 |          112 |    59 |
set title "File Downloads"

set xlabel "Time Since Posting (hrs)"
set xrange [0:40]
set xtics  0,5,40

set ylabel "Downloads"
set yrange [0:125]
set ytics 0,25,125

plot data u 2:3 w l lw 2 lc 1 title 'Video', \
     data u 2:4 w l lw 2 lc 2 title 'Presentation', \
     data u 2:5 w l lw 2 lc 3 title 'Paper
这是为了工作,我正在绘制文件下载的时间,因为它们是可用的。在t=28小时时,我努力让人们指向这些文件,我想在那里有一个与垂直线匹配的自定义标记,这样我就可以提醒大家注意这一点,并在宣传活动前后显示下载内容。因此,我的gnuplot代码如下所示:

|  Time | Video | Presentation | Paper |
|-------+-------+--------------+-------|
|     0 |     0 |            0 |     0 |
|    20 |    54 |           63 |    38 |
| 31.25 |    72 |           81 |    44 |
|   33. |    83 |           89 |    49 |
|   34. |    95 |          101 |    54 |
|  36.5 |   102 |          112 |    59 |
set title "File Downloads"

set xlabel "Time Since Posting (hrs)"
set xrange [0:40]
set xtics  0,5,40

set ylabel "Downloads"
set yrange [0:125]
set ytics 0,25,125

plot data u 2:3 w l lw 2 lc 1 title 'Video', \
     data u 2:4 w l lw 2 lc 2 title 'Presentation', \
     data u 2:5 w l lw 2 lc 3 title 'Paper
我知道一个人可以做这样的事情

set xtics ("0" 0, "10" 10, "Event" 30, "40" 40)
但我真的不想对我所有的抽搐都这么做,特别是因为这将是一个持续的情节,我不知道我会追踪多久。我可以像上面那样指定一组规则的间隔,但是在这些预定义的间隔中,在轴的顶部调用一个自定义的tic吗?这不起作用,但例如:

set xtics 0,5,40; ("Event" 30)
感谢您的建议。

文档中以“Pi”显示:

set xtics 0,5,40
set xtics add ("Event" 30)

我实际上只是在键入我自己的答案,因为我发现了同样的东西。我又找了一些,尝试了各种方法,并遇到了一个简单的建议,就是尝试
gnuplot>help set xtics
,在那里我看到了特殊的“add”命令。。。谢谢你,我真傻。事实上。。。我还有一个问题要问你。假设我在29岁而不是30岁时做上述工作。现在我30岁时有一个抽搐,29岁时我的标签上写满了抽搐。我找不到一种方法来执行
设置xtics 0,5,25
然后执行
设置xtics添加(“事件”29)
然后执行
设置xtics添加35,5,40
。它只需要第二组数值区间xtics。如何在“事件”之前和之后将它们隔开,以避免出现混乱的文本?@Hendy:通过“添加”,您只能混合生成的1个标记和任意数量的显式标记。因此,在这种情况下,您必须用您最喜欢的语言生成剩余的tic(即
seq 35 5 40 | sed的/\(.*)/set xtics add(“\1”\1);/”
在shell中。谢谢!然后,输出将是
(“0”0,“5”5,,“事件”29,“35”35,,“60”60,“65”)
--这就是你说的吗?@Hendy:不完全是。输出类似于
设置xtics add(“35”35);设置xtics add(“40”40);