r - R 和 ggplot 2:如何在 ggplot2 R 图中设置轴的分位数限制?
问题描述
我正在尝试使用分位数来限制 x 轴的前 99 个分位数以获得类似于下面的散点图(仅用于说明目的 - 右侧的图是使用 xlim 上的固定限制 0,500 创建的):
ggplot(aes(x=volume,y=log10(price)),data= diamonds)+
geom_point()+
coord_cartesian(xlim = c(0,500))
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)))
产生非常相似的结果,所以我怀疑问题是我如何定义分位数。
解决方案
问题是xlim
需要一个包含两个元素的向量:最小值和最大值。
最大值由定义,quantile(diamonds$x, 0.99)
而最小值可以是min(diamonds$x)
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)))
我使用x
而不是,volume
因为diamonds
我的 (2.2.1) 版本中的数据集ggplot2
不包含 column volume
。
推荐阅读
- visual-studio-code - 必须重新启动 Visual Studio Code 才能消除错误显示的错误
- docker - 如何更改 Dockerfile 中文件的权限?
- grammar - Bjarne 的编程书中的列表语法示例有错误吗?
- azure-cosmosdb - Cosmos DB SQL API 查询跟踪
- android - Android Studio 3.4/Gradle v5 更新错误
- javascript - 如何每 5 秒更改一次变量,以便下一个球的行为与前一个球不同?我怎样才能添加多个球?
- r - 如何根据分组计算比例
- json - 在 html 元素中返回为 JSON 后显示类型为 byte[] 的图像
- python - 如何使 file.split 找到一个多行字符串以将文件分成两部分?
- css - Select2 作为列表外观