Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当轴在R中为对数时,将轴限制扩展到-1_R_Plot_Logarithm - Fatal编程技术网

当轴在R中为对数时,将轴限制扩展到-1

当轴在R中为对数时,将轴限制扩展到-1,r,plot,logarithm,R,Plot,Logarithm,我正在做以下工作: x = c(0, 1, 2, 3, 4, 5) y = x ^ 2 plot(x, y, log="y") 我想要的是,图表也显示了x,y=0,0的散射点 我知道log0=-Inf。当我在做logx时,情况就是这样,但这里我没有做logx。相反,我只是将y轴的比例改为对数。因此,我需要知道是否有办法显示散射点x,y=0,0。不,你所问的在数学上是不可能的,因为log0=-Inf。点0,0不能在对数比例图上显示 对数刻度是通过对数据值进行对数变换并对轴刻度处的值求幂而产生的。

我正在做以下工作:

x = c(0, 1, 2, 3, 4, 5)
y = x ^ 2
plot(x, y, log="y")
我想要的是,图表也显示了x,y=0,0的散射点


我知道log0=-Inf。当我在做logx时,情况就是这样,但这里我没有做logx。相反,我只是将y轴的比例改为对数。因此,我需要知道是否有办法显示散射点x,y=0,0。

不,你所问的在数学上是不可能的,因为log0=-Inf。点0,0不能在对数比例图上显示


对数刻度是通过对数据值进行对数变换并对轴刻度处的值求幂而产生的。例如,要以对数10比例绘制值100,首先将100对数变换为log10100=2,然后将相应的轴刻度从2变换为10^2=100。因此,要在对数比例图中绘制值0,您仍然需要计算log100,即使相应的轴刻度为10^-Inf=0。

否,您所要求的在数学上是不可能的,因为log0=-Inf。点0,0不能显示在对数比例图上


对数刻度是通过对数据值进行对数变换并对轴刻度处的值求幂而产生的。例如,要以对数10比例绘制值100,首先将100对数变换为log10100=2,然后将相应的轴刻度从2变换为10^2=100。因此,要在对数比例图中绘制值0,您仍然需要计算log100,即使相应的轴刻度为10^-Inf=0。

如果您的目标是具有非线性y轴,而不一定是对数比例,那么您可以遵循下面的内容

# transfrom y-values
ny <- sqrt(y) 
# plot the transformed values
plot(x, ny, yaxt='n', ylab = "y")
# label the y-axis 
axis(side = 2, at = ny, labels = y)

另外,如果你知道你想用什么来代替log0,那么你可以通过ny来实现,但我不建议在有零的时候使用对数刻度。

如果你的目标是要有一个非线性的y轴,而不一定是对数刻度,那么你可以遵循下面的方法

# transfrom y-values
ny <- sqrt(y) 
# plot the transformed values
plot(x, ny, yaxt='n', ylab = "y")
# label the y-axis 
axis(side = 2, at = ny, labels = y)
另外,如果您知道要用什么替换log0,那么您可以通过ny进行替换,但我不建议在存在0时使用对数刻度。

将y[1]替换为0.1并进行绘图。然后将其替换为0.0001或0.000000001,然后再试一次-希望这将证明您的原始目标无法实现的原因-在对数刻度上,1和0之间存在无限距离。将y[1]替换为0.1并绘制。然后将其替换为0.0001或0.000000001,然后再试一次-希望这将证明您的原始目标无法实现的原因-在对数刻度上,1和0之间存在无限距离。