在gnuplot中显示带有手动定义的主要tic的次要tic网格

在gnuplot中显示带有手动定义的主要tic的次要tic网格,gnuplot,Gnuplot,我一直在尝试绘制以下数据 1, 2050 2, 21246 3, 208557 6, 20971520 10, 306184192 12, 1.75922E+14 使用gnuplot,使用下面的ytics set ytics ( "1 kb" 1000, \ "10 kb" 10000, \ "100 kb" 100000, \ "1 mb" 1000000, \ "10 mb" 10000000, \ "100 mb" 100000000, \ "1 gb" 1000000000, \ "1

我一直在尝试绘制以下数据

1, 2050
2, 21246
3, 208557
6, 20971520
10, 306184192
12, 1.75922E+14
使用gnuplot,使用下面的ytics

set ytics ( "1 kb" 1000, \
"10 kb" 10000, \
"100 kb" 100000, \
"1 mb" 1000000, \
"10 mb" 10000000, \
"100 mb" 100000000, \
"1 gb" 1000000000, \
"10 gb" 10000000000.0, \
"100 gb" 100000000000.0, \
"1 tb" 1000000000000.0, \
"10 tb" 10000000000000.0, \
"100 tb" 100000000000000.0, \
"1 pb" 1000000000000000.0, \
"10 pb" 10000000000000000.0 )
我无法让gnuplot在这个图上显示次要网格

因为我希望y轴是对数的,所以最好显示小抽搐

在1000到10000之间,我希望每1000次轻微抽搐。从10000到100000,我希望是1e4等等


如何做到这一点?

为了了解解决方案,需要执行以下步骤:

  • 自动主要tics:绘制所有次要tics

    set yrange [1:100]
    set logscale y
    set mytics 10
    plot x
    

  • 手动设置主要tics:不绘制次要tics

    set yrange [1:100]
    set logscale y
    set ytics ('one' 1, 'ten' 10, 'hundred' 100)
    set mytics 10
    plot x
    

  • 用自己的文本覆盖主要tics(注意
    添加
    ):次要tics有效

    set yrange [1:100]
    set logscale y
    set ytics add ('one' 1, 'ten' 10, 'hundred' 100)
    set mytics 10
    plot x
    

  • 因此,在您的情况下,使用
    set ytics add…
    set mytics 10就足够了。您还必须确保每十年有一个主要tic(
    set ytics 10
    ),并手动为许多主要tic设置y范围:

    set yrange [1e3:1e16]
    set ytics 10
    set mytics 10
    
    set ytics add ( "1 kb" 1000, \
    "10 kb" 10000, \
    "100 kb" 100000,\
    "1 mb" 1000000, \
    "10 mb" 10000000,\
    "100 mb" 100000000,\
    "1 gb" 1000000000, \
    "10 gb" 10000000000.0,\
    "100 gb" 100000000000.0,\
    "1 tb" 1000000000000.0, \
    "10 tb" 10000000000000.0, \
    "100 tb" 100000000000000.0, \
    "1 pb" 1000000000000000.0, \
    "10 pb" 10000000000000000.0 )
    
    set logscale y
    plot 'file.txt'
    
    4.6.4的结果是:


    谢谢!重要的是,我必须进入4.6.4版。因为我运行的是Ubuntu12.04LTS,这比我想象的要难。现在我把它升级到了4.6.4,网格线和mytics显示的和预期的一样。我刚刚检查过,它也适用于4.4.4。对于4.2.6,覆盖部分不起作用。我只是写了“4.6.4”,因为那是我检查过的版本,从那时起我就再也没有回去看它了:)噢,废话!是的,它在4.4.4中起作用;(任何人都想在U12.04LTS上安装稍微使用过的4.6.4。