楼主: ffcxy2005
52151 12

[问答] 如何用R软件在同一图上画两条不同的密度曲线图 [推广有奖]

  • 7关注
  • 7粉丝

博士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
2810 个
通用积分
3.2700
学术水平
8 点
热心指数
12 点
信用等级
7 点
经验
4436 点
帖子
132
精华
0
在线时间
349 小时
注册时间
2011-4-13
最后登录
2024-3-18

10论坛币
如题,想要在一幅图上画出两条不同的密度曲线图(图在下方),不知道如何实现,如果有知道的请帮个忙,谢谢!!!
从谢老大的书上看到由直方图到密度图的作法,但没有两条画在一起的。以下为谢老大书上的代码,供大家参考,希望大家可以帮个忙,谢谢~~
>hist(geyser$waiting, freq = FALSE, xlab = "waiting",
+ main = "(2) freq = FALSE")
>hist(geyser$waiting, probability = TRUE, main = '')
>lines(density(geyser[['waiting']]))

另外,还有个命令和谢老大的有异曲同工之处,一并贴出来吧(转用的):
>x=rnorm(1000)
>hist(x,prob=T,main="histogram with fitted density curve,bw=0.5")
>lines(density(x,bw=0.5),col="red",lwd=2)


最佳答案

qoiqpwqr 查看完整内容

> x y plot(density(x)) > lines(density(y))
关键词:r软件 如何用 曲线图 Probability histogram 软件 如何 waiting 曲线图 直方图
沙发
qoiqpwqr 发表于 2012-4-6 01:32:05 |只看作者 |坛友微信交流群
> x <- rnorm(100)
> y <- runif(100, -2, 2)
> plot(density(x))
> lines(density(y))
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
aspenroad + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
ffcxy2005 发表于 2012-4-6 01:33:36 |只看作者 |坛友微信交流群
问题的图    不好意思,图好像没了,所以补传一张!!!

使用道具

板凳
ffcxy2005 发表于 2012-4-6 08:48:14 |只看作者 |坛友微信交流群
qoiqpwqr 发表于 2012-4-6 02:40
> x  y  plot(density(x))
> lines(density(y))
非常感谢您的回答,可以追问一句吗,如果有三条或三条以上的情况呢?谢谢!

使用道具

报纸
kk22boy 发表于 2012-4-6 09:18:27 |只看作者 |坛友微信交流群
ffcxy2005 发表于 2012-4-6 08:48
非常感谢您的回答,可以追问一句吗,如果有三条或三条以上的情况呢?谢谢!
plot之后,
直接 lines(density(x2))
lines(density(x3))
就可以了
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
famousid + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

使用道具

地板
fanuq 在职认证  发表于 2012-4-6 09:21:26 |只看作者 |坛友微信交流群
多lines几次就好了,有个需要注意的地方,xrange需要自己先设定好,否则后面画的曲线否则很难看

使用道具

7
ffcxy2005 发表于 2012-4-6 09:42:24 |只看作者 |坛友微信交流群
kk22boy 发表于 2012-4-6 09:18
plot之后,
直接 lines(density(x2))
lines(density(x3))
谢谢~那如果在样本数和带宽不一定相等的情况下,画在同一张图上好像会出问题是吧

使用道具

8
qoiqpwqr 发表于 2012-4-6 10:20:46 |只看作者 |坛友微信交流群
ffcxy2005 发表于 2012-4-6 09:42
谢谢~那如果在样本数和带宽不一定相等的情况下,画在同一张图上好像会出问题是吧
图片的尺寸是按照第一个图的数据确定的,所以要注意一下,比如y轴要选为所有数据的最大的那个。

使用道具

9
ffcxy2005 发表于 2012-4-6 16:59:29 |只看作者 |坛友微信交流群
qoiqpwqr 发表于 2012-4-6 10:20
图片的尺寸是按照第一个图的数据确定的,所以要注意一下,比如y轴要选为所有数据的最大的那个。
我出现的问题好像不是Y轴的问题,而是X轴的问题,X轴的宽度不够所有的曲线。比如,第一条曲线在图上全部显示了,但第二条、第三条却只出现左边的一半,右边就没有了。对于这种情况而言,好像单纯向Y轴设置数据中最大的不一样,因为X轴表示的是曲线的区间,不知道这种又该如何解决?谢谢~!

使用道具

10
huochunxiao 发表于 2012-4-6 17:18:15 |只看作者 |坛友微信交流群
无论是x y 轴, 你把xlim ylim设置成你的所用变量里面 范围最大的那个就可以了
极端情况 就是值域太大 有些小变化的曲线体现不出来 这就要具体情况了。
已有 1 人评分学术水平 热心指数 收起 理由
ffcxy2005 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 16:53