Types gnuplot:使用格式数据类型来分隔数字?
我想分离对数标度的给定范围,特别是最小值。Types gnuplot:使用格式数据类型来分隔数字?,types,format,gnuplot,Types,Format,Gnuplot,我想分离对数标度的给定范围,特别是最小值。 e、 g.x_min=0.2,我想得到“2”和“-1”作为2*10**(-1)的一部分,以便进一步使用。从手册中,这将是%t和%t。我尝试使用print(“%t”,x_min),但我只得到x_min本身,无论我在print中设置了哪种类型。在gnuplot中有什么方法可以做到这一点吗?@GRSousaJR已经在评论中提到了。我很快用gnuplot 5.2.8进行了测试,不一致之处仍然存在。给出了一个繁琐的解决方案 例如: ### inconsisten
e、 g.x_min=0.2,我想得到“2”和“-1”作为2*10**(-1)的一部分,以便进一步使用。从手册中,这将是%t和%t。我尝试使用print(“%t”,x_min),但我只得到x_min本身,无论我在print中设置了哪种类型。在gnuplot中有什么方法可以做到这一点吗?@GRSousaJR已经在评论中提到了。我很快用gnuplot 5.2.8进行了测试,不一致之处仍然存在。给出了一个繁琐的解决方案 例如:
### inconsistency in gprintf with %t and %T
reset session
array Numbers = [0.95, 9.5, 95, 995, 9995]
print "gprintf with %t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.3t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.3t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.0t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.0t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
### end of code
print gprint(“%t”,95)
给出0.95
和print gprintf(“%t”,95)
给出2
因此,95=0.95x10^2
没有错,但预期结果是9.5x10^1
但是现在,如果您使用例如%.3t
而不是%t
,您将得到错误的结果。
也许有人能解释一下
总而言之:
(它变得有点长,因为gprintf()
只允许一个参数。)
代码:
### inconsistency in gprintf with %t and %T
reset session
array Numbers = [0.95, 9.5, 95, 995, 9995]
print "gprintf with %t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.3t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.3t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.0t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.0t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
### end of code
结果:(使用gnuplot 5.2.8)
@GRSousaJR已经在评论中提到。我很快用gnuplot 5.2.8进行了测试,不一致之处仍然存在。给出了一个繁琐的解决方案 例如:
### inconsistency in gprintf with %t and %T
reset session
array Numbers = [0.95, 9.5, 95, 995, 9995]
print "gprintf with %t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.3t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.3t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.0t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.0t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
### end of code
print gprint(“%t”,95)
给出0.95
和print gprintf(“%t”,95)
给出2
因此,95=0.95x10^2
没有错,但预期结果是9.5x10^1
但是现在,如果您使用例如%.3t
而不是%t
,您将得到错误的结果。
也许有人能解释一下
总而言之:
(它变得有点长,因为gprintf()
只允许一个参数。)
代码:
### inconsistency in gprintf with %t and %T
reset session
array Numbers = [0.95, 9.5, 95, 995, 9995]
print "gprintf with %t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.3t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.3t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
print "gprintf with %.0t"
do for [i=1:|Numbers|] {
print gprintf("% 8g",Numbers[i])." = ".gprintf("%.0t",Numbers[i])." x 10^".gprintf("%T",Numbers[i])
}
### end of code
结果:(使用gnuplot 5.2.8)
您可以使用
gprintf
来执行此操作。但是请注意,与gprintf()
和%t
和%t
之间存在一些不一致之处。刚才看到,打印必须在gprintf之前。我将尝试一下,您可以使用gprintf
来执行此操作。但是请注意,与gprintf()
和%t
和%t
之间存在一些不一致之处。刚才看到,打印必须在gprintf之前。我会尝试一下,thxI没有检查,但可能您必须对%t使用相同的参数?由于该值不变,它们很容易不匹配?您的意思是,例如,%.3T
?我不这么认为,这没什么意义,因为幂应该是一个整数。我没有检查,但也许你必须对%t使用相同的参数?由于该值不变,它们很容易不匹配?您的意思是,例如,%.3T
?我不这么认为,这没什么意义,因为幂应该是一个整数。