- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 gnuplot 的新手,所以非常感谢您的每条建议。
现在,我正在尝试使用 logscale 命令绘制一些数据。但是我不知道为什么当我使用 logscale 时所有的 xtics 都消失了。这是我使用的脚本:
#creates a plot of all the four different loops with a logscale. Fits the functions as well and saves the fitting data
#in a file named fitting.dat
set size 1,1
# set logscale
set logscale y 10
set logscale x 10
#set xlabel and y label
set xlabel "Dimension of Matrix"
set ylabel "time [s]"
#scale plot
set xrange [450:850]
set yrange[0.01:5]
#nothing displayed from fitting
set fit quiet
#position of legend
set key top right
set key horizontal
# guessing the parameters, the fit will be better and we know that the exponent should be \approx 3
b=3
d=3
f=3
h=3
#Define all th four different data fitting functions, asuming f(x) ~ a*x^b
f(x)= a*x**b
g(x)=c*x**d
h(x)=e*x**f
j(x)=g*x**h
#fit the different functions
fit f(x) 'matmul.txt' using 1:2 via a,b
fit g(x) 'matmul.txt' using 1:3 via c,d
fit h(x) 'matmul.txt' using 1:4 via e,f
fit j(x) 'matmul.txt' using 1:5 via g,h
# save the fitting parameters in an extra file
set print 'fitting.dat'
print 'function'
print a,'*x', '**', b , ' rows'
print c,'*x', '**', d , ' cols'
print e,'*x', '**', f , ' intrinsic function'
print g,'*x', '**', h , ' lapack routine'
# plot everything
plot "matmul.txt" u 1:2 t "rows" ,\
"matmul.txt" u 1:3 t "cols" ,\
"matmul.txt" u 1:4 t "intrinsic" ,\
"matmul.txt" u 1:5 t "lapack" ,\
f(x) t sprintf("row:%.2e*x^(%.2f)", a,b),\
g(x) t sprintf("col:%.2e*x^(%.2f)",c,d),\
h(x) t sprintf("int:%.2e*x^(%.2f)",e,f),\
j(x) t sprintf("lap:%.2e*x^(%.2f)",g,h)
#choose output format
set terminal png
set output "time.png"
replot
#now, non-logarithmic plot
#unset logscale
set yrange[0.01:1]
unset logscale
#plot again
plot "matmul.txt" u 1:2 t "rows" ,\
"matmul.txt" u 1:3 t "cols" ,\
"matmul.txt" u 1:4 t "intrinsic" ,\
"matmul.txt" u 1:5 t "lapack" ,\
f(x) t sprintf("col:%.2e*x^(%.2f)", a,b),\
g(x) t sprintf("row:%.2e*x^(%.2f)",c,d),\
h(x) t sprintf("int:%.2e*x^(%.2f)",e,f),\
j(x) t sprintf("lap%.2e*x^(%.2f)",g,h)
我的输入文件“matmul.txt”如下所示:
#Dim rows cols intrinsic lapack
500 0.1320E+00 0.1040E+00 0.6800E-01 0.2000E-01
520 0.1400E+00 0.1320E+00 0.5600E-01 0.2000E-01
540 0.1480E+00 0.1400E+00 0.6000E-01 0.3200E-01
560 0.1680E+00 0.1480E+00 0.7200E-01 0.2400E-01
580 0.1800E+00 0.1680E+00 0.6800E-01 0.3200E-01
600 0.1920E+00 0.1960E+00 0.7200E-01 0.3600E-01
620 0.2080E+00 0.2040E+00 0.9600E-01 0.2000E-01
640 0.4000E+00 0.3520E+00 0.8400E-01 0.3200E-01
...
现在,如果我运行这个文件,我会得到以下输出 plot
不知道为什么,yscale 的范围不对,xtics 不显示。如果我在没有“logscale”的情况下绘制它,则该图正是我想要的。为什么这行不通?
最佳答案
对数图中的抽动点不像 1, 2, 3, ... 那样被常数加数分隔,而是像 1, 10, 100, ... 那样被常数因子分隔
这意味着在您的 y 轴情况下:您已给出范围 [0.01:5]
,导致 0.01、0.1、1 处的抽动,如图所示。在 1 以上,您在 2、3、4 和 5 处有轻微的抽动。5 是在范围内指定的图形的上边界。要在这个 tic 上也有一个标签,只需添加它:
set ytics add (5)
或将 yrange 更改为其中之一
set yrange [0.01:1]
set yrange [0.01:10]
对于您的 xtic:标签应为 1、10、100、1000,...但是您的范围是 450 到 850:内部没有标记的 xtic。
同样,您可以手动设置它们:
set xtics (450, 550, 650, 750, 850)
关于gnuplot xtics 在使用对数刻度时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40822203/
我有以下类型的文件: ... 我想从 (x,y) 值绘制一个散点图,在不同数据集中的第一列中有不同的字符串,这些字符串将用不同的颜色绘制(我有许多不同的 x,y 值但只有几个不同的字符串)
有谁知道我如何在 GNU Plot 的条形图顶部放置一组值的折线图?我的条形图工作得很好,但我不知道如何在不同的列上添加折线图。 我100%迷路了!我可以很容易地用 excel 做到这一点,但它看起来
我在 x_i 点有数据点 f(x_i)(函数 f 未知,只有数值),f(0) = 0。数据显示小 x 处的峰状结构,随后是较大 x 处的缓慢肩部衰减设置在最大值的一半。我想通过这些数据点绘制平滑线。
更新:此问题已在较新版本 (>5.0) 的 gnuplot 中解决;请参阅@andyras 的回答。 我很难让 gnuplot 在非 postscript 终端中创建带有粗体和增强文本的标签。下面的脚
你好有没有办法完全重置gnuplot,即在中使用gnuplot同 状态为刚刚启动后? Reset 不会终止变量或函数, undefine 不能用作“undefine *”,因为第一个字符必须是字母。
我想用彩色背景和图案填充条形图。在Gnuplot中有可能吗? 我正在使用Gnuplot 4.6.5 我现在拥有的代码: # set terminal pngcairo transparent enh
我想用 gnuplot 做一个条形图。 我使用了这个设置 set style data boxes set style fill solid plot 'foo.dat' using 1:2:(1)
在 gnuplot 中,给定 f 和 g 两个从平面到实线的函数,我将在 g 获得正值时绘制 f。我有这个代码: set xrange [-2:2] set yrange [-2:2] set iso
只是想习惯 gnuplot。我在这个网站上搜索了几页寻找答案,阅读了文档(4.6),但仍然没有找到答案。说我有一个这样的数据文件: 0.0 0 1.0 25 2.0 55 3.0 110 4.0 45
我刚开始使用 gnuplot,我已经关注了 this question它根据我的需要绘制数据。但是,我非常想也包括错误栏。我尝试通过添加最小和最大错误列来做到这一点,如下所示: Broswer,Vid
我有一个包含30列和N行的数据文件。每行对应于x = {1,...,30}的函数f(x)的30个值。数据文件具有以下模式: # f(1) f(2) ... f(30) 1 7.221 5.302 ..
我正在绘制一些具有不同X范围的数据,我想根据当前X范围内数据的最大值和最小值更改yrange。当我使用GPVAL_Y_MAX和GPVAL_Y_MIN时,这些值对应于整个数据的最大值和最小值,而不仅仅是
我尝试搜索,但是找不到针对此特定条件的解决方案。在我的情节中,我正在比较两条痕迹。我正在使用折线图,并且两条迹线都以不同的颜色绘制。 plot "delay_try1.dat" using 1:2 t
我有一个非常简单的数据集: Critical 2 High 18 Medium 5 Low 14 根据该数据集在 gnuplot 中创建条形图很容易,但所有条形图的颜色都相同。我希望将 Critica
我正在使用 gnuplot 创建两个相邻的图。我想给整个事情一个标题,但如果我使用标准的 set title "blah" 命令,我会得到两个标题 - 每个图一个。我怎样才能只获得一个标题(位于图上方
我正在尝试在 gnuplot 中绘制水平直方图。 这是我当前的垂直(通常类型)直方图: width=0.5 hist(x,width)=width*floor(x/width)+width/2.0 s
我想在 gnuplot 中绘制多个有界函数。 IE。绘制从 0 到 2 的 x 和从 1 到 3 的 x^2 并将它们一起显示。 如何绘制具有不同界限的函数? 我知道如何执行分段函数,例如 (x <
例如,给定以下数据文件(本例中为 x^2): 0 1 4 9 16 25 gnuplot 可以绘制点以及点之间的差异,就像这样: 0 0 1 1 # ( 1 - 0 = 1) 4 3 # (
我正在尝试尝试一些简单的回归线作为 gnuplot 图的基础。然而,无论我做什么,我都无法在图表上得到多于一条的拟合线。这可能吗?这是我的(当前)gnuplot 程序...... set title
有什么方法可以迭代地从多个文件中检索数据并将它们绘制在 gnuplot 中的同一个图表上。假设我有像data1.txt,data2.txt......data1000.txt这样的文件;每个都有相同数
我是一名优秀的程序员,十分优秀!