Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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中的一个数据集绘制不同比例的轴_R_Statistics_Graph_Plot - Fatal编程技术网

为R中的一个数据集绘制不同比例的轴

为R中的一个数据集绘制不同比例的轴,r,statistics,graph,plot,R,Statistics,Graph,Plot,我有一个用R绘制的大数据集,我想在图的每一侧有一个轴,以两种不同的比例显示数据。例如,在左垂直轴上,我想直接绘制数据(例如,绘制(y~x)),在右轴上,我想对左轴进行线性缩放。(例如,绘图(y*20~x) 因此,将只显示一个数据集,但轴将显示这些数据点的不同含义 我尝试了以下方法: plot(x = dataset$x, y = dataset$y) axis(4, pretty(dataset$y,10) ) > plot(x = dataset$x, y = dataset$y) &

我有一个用R绘制的大数据集,我想在图的每一侧有一个轴,以两种不同的比例显示数据。例如,在左垂直轴上,我想直接绘制数据(例如,绘制(y~x)),在右轴上,我想对左轴进行线性缩放。(例如,绘图(y*20~x)

因此,将只显示一个数据集,但轴将显示这些数据点的不同含义

我尝试了以下方法:

plot(x = dataset$x, y = dataset$y)
axis(4, pretty(dataset$y,10) )
> plot(x = dataset$x, y = dataset$y)
> axis(4, at = axTicks(2), label = axTicks(2) * 10)
这将正确打印一个新的右轴,其比例与默认左轴相同。(基本上没有用处,但它可以工作)但是,如果我做了这个微小的更改:

plot(x = dataset$x, y = dataset$y)
axis(4, pretty(10*dataset$y,10) )

突然,它拒绝添加我的新右轴。我怀疑这与R有关,R查看轴是否以某种方式与数据集匹配,如果不匹配,则拒绝它。我如何让R忽略数据集,只打印我选择的任意轴?

你要求的并不总是正确的做法,但你可以通过
par强制它(new=TRUE)


xR似乎没有拒绝您的轴。您得到了什么错误?您的命令将使勾号远离图形(因为它使用第一个轴来定位它们)。我认为您需要的是以下内容:

plot(x = dataset$x, y = dataset$y)
axis(4, pretty(dataset$y,10) )
> plot(x = dataset$x, y = dataset$y)
> axis(4, at = axTicks(2), label = axTicks(2) * 10)

您还可以在第二次调用
plot()
时使用参数
axes=F
来抑制x轴的双重绘图。这很完美,优雅地解决了我的问题。我的问题不是记号画错了,而是我需要在=axTicks(2)处重新标记它们表示从绘图侧获取新的轴标记=2;label=axTicks(2)*10表示从按10缩放的“at”标记创建标签。对吗?