r - 叠加两个 stat_density 图
问题描述
我想从两个一维数组中叠加两个密度图。我需要它们都以对数为单位。这些文件仅包含数字列表 (1.000.000),它们都是由非常相似的特定分布生成的,在 4000 附近有一个小峰值,因此是一个或两个轴上的对数刻度。
> prova
[1] 1.106172 2.617064 1.778360 1.372890 5.334664 2.019493
[7] 1.174879 1.371897 4.018011 1.220845 3.631309 1.437586 ...
两个文件之一,它们都非常相似
https://drive.google.com/file/d/1HEHWZR0Gl6YB1tLFF4WjXFp5ZoB-DrlW/view?usp=drivesdk
这是我只用于一个数组的:
#Packages
library(tidyverse)
library(plotly)
library(ggplot2)
library(scales)
library(ggforce)
prova <-readRDS("probcond1.rds")
prova1 <-readRDS("probpoly.rds")
dfGamma <-data.frame(prova)
g <- ggplot(dfGamma, aes(x=prova)) +
stat_density(aes(y=..count..), color="black", fill="blue", alpha=0.3) + scale_x_continuous(breaks=c(0,1,2,3,4,5,10,30,100,300,1000,2000,3000,4000,5000), trans="log1p", expand=c(0,0)) + scale_y_continuous(expand=c(0,0), trans="log1p") + theme_bw()
我试图复制另一个答案中看到的解决方案,但在这种情况下,奇怪的是,图表不是对数比例。
x <- data.frame(v1=prova,v2=prova1)
data<- melt(x)
ggplot(data,aes(x=value, fill=variable)) + stat_density(alpha=0.3) +
scale_x_continuous(breaks=c(0,1,2,3,4,5,10,30,100,300,1000,2000,3000,4000,5000), trans="log1p", expand=c(0,0)) +
scale_y_continuous(expand=c(0,0), trans="log1p") +
theme_bw()
我对 R 很陌生,我不确定如何从我的两个列表中构建一个 data.frame 以及如何操作它。谢谢你的耐心。
解决方案
推荐阅读
- sql - 在SQL中逐行计算总和
- angular - HTTP.get函数以角度同步执行
- linux - 重新启动具有相同名称的 Wine 虚拟桌面时出现 BadWindow 错误
- git - 找不到 Git 存储库 无法拉取
- charts - Highcharts:从条形图钻取到折线图时,图表不会倒置
- reactjs - Cpanel - 部署的反应应用程序显示虚拟主机登录页面而不是应用程序
- netbeans - Netbeans 本地历史和计算机更改
- mongodb - $addField 与 MongoDb 中的条件
- python-3.x - 模块对象不可调用(kerastuner)
- python - cicle 后无法重新拆分。它说“AttributeError:'list'对象没有属性'join'”)