我正在尝试绘制密度脊线图。所以我去看了ggrigs简介。目前可以绘制山脊线,但是在绘制“密度”山脊线图时存在问题。但是:data.frame(...,check.names = FALSE)错误。如何修改我的代码?
我首先尝试使用自己的数据geom_density_ridges()
,但是显示以下错误:
data.frame(...,check.names = FALSE)错误。
所以我尝试了R的虹膜数据集,但仍然显示了相同的错误。
library(ggplot2)
library(ggridges)
data2=iris
ggplot(iris, aes(x = Sepal.Length, y = Species)) + geom_density_ridges()
拾取接头带宽为0.181
不知道如何为quosure / formula类型的对象自动选择比例。默认为连续。 data.frame(...,check.names = FALSE)错误: 参数值意味着不同的行数:2,1536
这是我自己的数据集的尝试:
data1<-read.table(file="greatwalldatatest.txt",header=T,sep="\t",fileEncoding = "UTF-16")
ggplot(data1, aes(data1$longitude, data1$dynasty, height = data1$elevation, group = data1$dynasty)) +
+ geom_density_ridges(stat = "identity", scale = 1)
ggplot(data1, aes(x = data1$elevation, y = data1$dynasty)) + geom_density_ridges()
接缝带宽为70.6 不知道如何为定量/公式类型的对象自动选择比例。默认为连续。 data.frame(...,check.names = FALSE)错误: 参数值意味着不同的行数:2,1536
最初,我想使用“ geom_density_ridges()”来描述这三个时间段内数据点的海拔变化,但是现在我似乎需要帮助!非常感谢你!
答案 0 :(得分:1)
您应该真正专注于清理代码。它可以帮助您更轻松地进行调试,并在发问时更加礼貌。很难确切地了解您要执行的操作,但是使用library(ggridges)
时,您的x值必须是数字,而您的y值必须是分类的。
此外,由于您使用的是ggplot2
,因此在创建绘图时不需要使用data$column_name
语法。这是下面使用iris
的示例。
library(tidyverse)
library(ggridges)
#>
#> Attaching package: 'ggridges'
#> The following object is masked from 'package:ggplot2':
#>
#> scale_discrete_manual
iris %>%
ggplot(aes(x = Sepal.Length, y = Species)) +
geom_density_ridges()
#> Picking joint bandwidth of 0.181
由reprex package(v0.2.1)于2019-01-19创建