gnuplot logscale在每个基础上看起来都一样

gnuplot logscale在每个基础上看起来都一样,gnuplot,Gnuplot,我正在使用gnuplot绘制测量数据,我想重点关注x的较小值。x介于0和~65之间,但最有趣的事情发生在x=0和x=1之间。所以我用对数标度 但我选择的每个底座都一样: f(x) = x**2 p(l) = (1-(l/100))**2 e(l) = p(l)**50 g(l) = e(l)*1000*100 set key bottom left set xtics ("0" 0.001, 0.01, 0.05, 0.1, 0.2, 0.3, 0.5, 0.7, 1, 2, 5, 10

我正在使用gnuplot绘制测量数据,我想重点关注x的较小值。x介于0和~65之间,但最有趣的事情发生在x=0和x=1之间。所以我用对数标度

但我选择的每个底座都一样:

f(x) = x**2

p(l) = (1-(l/100))**2
e(l) = p(l)**50
g(l) = e(l)*1000*100

set key bottom left


set xtics ("0" 0.001, 0.01, 0.05, 0.1, 0.2, 0.3, 0.5, 0.7, 1, 2, 5, 10, 15, 25, 40, 50, 60)
set yrange [0:f(100.5)]
set xlabel "loss rate in %"
set ylabel "successful requests (100% of expected results) in %"

set ytics ("0" f(0), "50" f(50), "75" f(75), "80" f(80), "90" f(90), "100" f(100))

set logscale x 10

plot "collected_$intv.table" using 1:(f(\$2/10))  title "maximum 1 try" lc rgb "red" pt 1 lw 1, \
     "collected_$intv.table" using 1:(f(\$2/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$3/10))  title "maximum 2 tries" lc rgb "blue" pt 2 lw 1, \
     "collected_$intv.table" using 1:(f(\$3/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$4/10))  title "maximum 3 tries" lc rgb "green" pt 3 lw 1, \
     "collected_$intv.table" using 1:(f(\$4/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$5/10))  title "maximum 4 tries" lc rgb "black" pt 5 lw 1, \
     "collected_$intv.table" using 1:(f(\$5/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$6/10))  title "maximum 5 tries" lc rgb "red" pt 7 lw 1, \
     "collected_$intv.table" using 1:(f(\$6/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$7/10))  title "maximum 6 tries" lc rgb "blue" pt 9 lw 1, \
     "collected_$intv.table" using 1:(f(\$7/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$8/10))  title "maximum 7 tries" lc rgb "green" pt 13 lw 1, \
     "collected_$intv.table" using 1:(f(\$8/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$9/10))  title "maximum 8 tries" lc rgb "black" pt 17 lw 1, \
     "collected_$intv.table" using 1:(f(\$9/10))  notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$10/10)) title "maximum 9 tries" lc rgb "red" pt 19 lw 1, \
     "collected_$intv.table" using 1:(f(\$10/10)) notitle w lines  ls 27, \
     "collected_$intv.table" using 1:(f(\$11/10)) title "maximum 10 tries" lc rgb "blue" pt 12 lw 1, \
     "collected_$intv.table" using 1:(f(\$11/10)) notitle w lines  ls 27, \
     g(x)/10 title "calculated probability for 1 try"

我想要的是:x=0.01应该更接近x=0,x=0.05应该更接近x=0.01,依此类推。但是随着x的增长,增加x之间的距离应该减小(这就是为什么我使用对数标度)

奇怪的是当我使用

set logscale x 2

看起来一模一样


我怎样才能得到想要的结果呢?

难怪它看起来总是一样的。切换到对数刻度意味着对原始数据应用对数函数(默认以10为基数):

x_toPlot = log_10( x_data )
如果选择任意基数,则使用对数定律与标准基数进行转换:

x_toPlot = log_b( x_data ) =  log_10( x_data ) / log_10( b )
唯一的区别是系数
1/log_10(b)
,因此您的数据只是拉伸而不改变点之间的相对位置。由于gnuplot应用了另一个因子来将数据拟合到图形中,所以您不会注意到任何明显的差异

为对数刻度指定任意基数唯一受影响的是刻度线,刻度线从1,10,100,…,10n变为1,b,b²

只能尝试其他轴转换。你对…的x位置有什么想法吗。。。e、 g.y=75%取决于尝试次数?反向函数将是您自己转换的一个很好的候选者。如何落实,

如前所述,正确解释非线性轴非常困难,不要使用太多


最后,你的情节看起来没那么糟。我会将概率函数(蓝色)拟合到每个数据集,并绘制其x位置与第二个图中尝试次数的关系。

难怪它看起来总是一样的。切换到对数刻度意味着对原始数据应用对数函数(默认以10为基数):

x_toPlot = log_10( x_data )
如果选择任意基数,则使用对数定律与标准基数进行转换:

x_toPlot = log_b( x_data ) =  log_10( x_data ) / log_10( b )
唯一的区别是系数
1/log_10(b)
,因此您的数据只是拉伸而不改变点之间的相对位置。由于gnuplot应用了另一个因子来将数据拟合到图形中,所以您不会注意到任何明显的差异

为对数刻度指定任意基数唯一受影响的是刻度线,刻度线从1,10,100,…,10n变为1,b,b²

只能尝试其他轴转换。你对…的x位置有什么想法吗。。。e、 g.y=75%取决于尝试次数?反向函数将是您自己转换的一个很好的候选者。如何落实,

如前所述,正确解释非线性轴非常困难,不要使用太多


最后,你的情节看起来没那么糟。我会将概率函数(蓝色)拟合到每个数据集,并绘制其x位置与第二个图中尝试次数的关系。

难怪它看起来总是一样的。切换到对数刻度意味着对原始数据应用对数函数(默认以10为基数):

x_toPlot = log_10( x_data )
如果选择任意基数,则使用对数定律与标准基数进行转换:

x_toPlot = log_b( x_data ) =  log_10( x_data ) / log_10( b )
唯一的区别是系数
1/log_10(b)
,因此您的数据只是拉伸而不改变点之间的相对位置。由于gnuplot应用了另一个因子来将数据拟合到图形中,所以您不会注意到任何明显的差异

为对数刻度指定任意基数唯一受影响的是刻度线,刻度线从1,10,100,…,10n变为1,b,b²

只能尝试其他轴转换。你对…的x位置有什么想法吗。。。e、 g.y=75%取决于尝试次数?反向函数将是您自己转换的一个很好的候选者。如何落实,

如前所述,正确解释非线性轴非常困难,不要使用太多


最后,你的情节看起来没那么糟。我会将概率函数(蓝色)拟合到每个数据集,并绘制其x位置与第二个图中尝试次数的关系。

难怪它看起来总是一样的。切换到对数刻度意味着对原始数据应用对数函数(默认以10为基数):

x_toPlot = log_10( x_data )
如果选择任意基数,则使用对数定律与标准基数进行转换:

x_toPlot = log_b( x_data ) =  log_10( x_data ) / log_10( b )
唯一的区别是系数
1/log_10(b)
,因此您的数据只是拉伸而不改变点之间的相对位置。由于gnuplot应用了另一个因子来将数据拟合到图形中,所以您不会注意到任何明显的差异

为对数刻度指定任意基数唯一受影响的是刻度线,刻度线从1,10,100,…,10n变为1,b,b²

只能尝试其他轴转换。你对…的x位置有什么想法吗。。。e、 g.y=75%取决于尝试次数?反向函数将是您自己转换的一个很好的候选者。如何落实,

如前所述,正确解释非线性轴非常困难,不要使用太多

最后,你的情节看起来没那么糟。我将概率函数(蓝色)拟合到每个数据集,并在第二个图中绘制其x位置与尝试次数的关系