Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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和ggplot2:如何设置ggplot2 R图中轴的分位数限制?_R_Ggplot2 - Fatal编程技术网

R和ggplot2:如何设置ggplot2 R图中轴的分位数限制?

R和ggplot2:如何设置ggplot2 R图中轴的分位数限制?,r,ggplot2,R,Ggplot2,我试图使用分位数来限制x轴,前99个分位数得到的散点图类似于下图(仅供说明-右侧的图是使用xlim上的固定限制0500创建的): 这就产生了: 我希望避免篡改实际数据或创建新的数据集。有人能指出我哪里出了问题吗 scale_x_continuous(limits = c(quantile(diamonds$volume, 0.99))) 产生非常相似的结果,因此我怀疑问题在于如何定义分位数。问题在于xlim需要一个包含两个元素的向量:min和max 最大值由分位数定义(钻石$x,0.99)

我试图使用分位数来限制x轴,前99个分位数得到的散点图类似于下图(仅供说明-右侧的图是使用xlim上的固定限制0500创建的):

这就产生了:

我希望避免篡改实际数据或创建新的数据集。有人能指出我哪里出了问题吗

scale_x_continuous(limits = c(quantile(diamonds$volume, 0.99)))

产生非常相似的结果,因此我怀疑问题在于如何定义分位数。

问题在于
xlim
需要一个包含两个元素的向量:min和max

最大值由分位数定义(钻石$x,0.99) 而最小值可以是
min(钻石$x)

我使用了
x
而不是
volume
,因为我版本的
ggplot2
(2.2.1)中的
diamonds
数据集不包含
volume

ggplot(aes(x=volume,y=log10(price)),data= diamonds)+
  geom_point()+
  coord_cartesian(xlim = c(quantile(diamonds$volume<diamonds$volume, 0.99)))
ggplot(aes(x=volume,y=log10(price)),data= diamonds)+
  geom_point()+
  coord_cartesian(xlim = c(quantile(diamonds$volume, 0.99)))
scale_x_continuous(limits = c(quantile(diamonds$volume, 0.99)))
library(ggplot2)
data(diamonds)

ggplot(aes(x=x,y=log10(price)),data= diamonds)+
  geom_point()+
  coord_cartesian(xlim = c(min(diamonds$x), quantile(diamonds$x, 0.99)))