Gnuplot 如何仅为数据集中的值显示TIC?
我有一个标准数据集,比如:Gnuplot 如何仅为数据集中的值显示TIC?,gnuplot,Gnuplot,我有一个标准数据集,比如: 1,10 2,15 4,20 8,5 是否有任何简单的方法仅显示数据集中值的TIC 我可以手动设置它们: set xtics ( 1, 2, 4, 8 ); set ytics ( 5, 10, 15, 20 ); 然而,这有两个副作用: 我必须手动查找所有值 出于某种原因,它删除了边线(与自动缩放相比),因此我必须手动计算它们(set offset graph在手动设置TIC时工作异常) 是否有任何简单的方法可以显示在不使用set*tics命令的情况下绘制的相同
1,10
2,15
4,20
8,5
是否有任何简单的方法仅显示数据集中值的TIC
我可以手动设置它们:
set xtics ( 1, 2, 4, 8 );
set ytics ( 5, 10, 15, 20 );
然而,这有两个副作用:
set offset graph
在手动设置TIC时工作异常)set*tics
命令的情况下绘制的相同绘图,唯一的区别是打印的tics
我使用的是Gnuplot 5.2。请尝试以下操作。您可以从数据集中创建字符串,并将其与宏一起使用(请参见帮助宏)。也许有更简单的方法可以实现相同的结果(我想也有一种方法可以将x轴设置为log2轴,然后您应该自动获得1,2,4,8,16,32 tics) 代码:
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set table $Dummy
plot myXtics=myYtics='' $Data using \
(myXtics = myXtics.($0==0?'':',').strcol(1), \
myYtics = myYtics.($0==0?'':',').strcol(2)) w table
unset table
set offsets 1,1,1,1
set xtics (@myXtics)
set ytics (@myYtics)
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set logscale x 2
set offsets 1,1,1,1 # offsets works on linear y-axis but not on log x axis
set xrange [0.75:12]
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
结果:
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set table $Dummy
plot myXtics=myYtics='' $Data using \
(myXtics = myXtics.($0==0?'':',').strcol(1), \
myYtics = myYtics.($0==0?'':',').strcol(2)) w table
unset table
set offsets 1,1,1,1
set xtics (@myXtics)
set ytics (@myYtics)
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set logscale x 2
set offsets 1,1,1,1 # offsets works on linear y-axis but not on log x axis
set xrange [0.75:12]
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
尝试以下方法。您可以从数据集中创建字符串,并将其与宏一起使用(请参见帮助宏)。也许有更简单的方法可以实现相同的结果(我想也有一种方法可以将x轴设置为log2轴,然后您应该自动获得1,2,4,8,16,32 tics) 代码:
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set table $Dummy
plot myXtics=myYtics='' $Data using \
(myXtics = myXtics.($0==0?'':',').strcol(1), \
myYtics = myYtics.($0==0?'':',').strcol(2)) w table
unset table
set offsets 1,1,1,1
set xtics (@myXtics)
set ytics (@myYtics)
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set logscale x 2
set offsets 1,1,1,1 # offsets works on linear y-axis but not on log x axis
set xrange [0.75:12]
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
结果:
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set table $Dummy
plot myXtics=myYtics='' $Data using \
(myXtics = myXtics.($0==0?'':',').strcol(1), \
myYtics = myYtics.($0==0?'':',').strcol(2)) w table
unset table
set offsets 1,1,1,1
set xtics (@myXtics)
set ytics (@myYtics)
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
### setting special tics semi-automatically
reset session
$Data <<EOD
1, 10
2, 15
4, 20
8, 5
EOD
set datafile separator comma
set logscale x 2
set offsets 1,1,1,1 # offsets works on linear y-axis but not on log x axis
set xrange [0.75:12]
set grid xtics, ytics
plot $Data u 1:2 w p pt 7 notitle
### end of code
您可以从plot命令调用xtic()
和xtic()
。例如:
set datafile separator comma
set offsets graph 0.1, graph 0.1, graph 0.1, graph 0.1
plot '-' using 1:2:xtic(1):ytic(2) pt 7 lc black title ""
1,10
2,15
4,20
8,5
end
您可以从plot命令调用xtic()
和xtic()
。例如:
set datafile separator comma
set offsets graph 0.1, graph 0.1, graph 0.1, graph 0.1
plot '-' using 1:2:xtic(1):ytic(2) pt 7 lc black title ""
1,10
2,15
4,20
8,5
end
哈,比我的建议简单多了。。。尽管如此,您的代码不会给出显示的结果,因为缺少数据(对于初学者来说,在绘制
'-'
时,可能不清楚如何添加数据);我一直很感激你给出的完整的例子。谢谢。哈,比我的建议简单多了。。。尽管如此,您的代码不会给出显示的结果,因为缺少数据(对于初学者来说,在绘制'-'
时,可能不清楚如何添加数据);我一直很感激你给出的完整的例子。谢谢