首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何改变R中dotchart()中的点大小

如何改变R中dotchart()中的点大小
EN

Stack Overflow用户
提问于 2012-06-13 20:50:35
回答 2查看 1.5K关注 0票数 4

我有一个关于使用以下数据创建点图的问题:

代码语言:javascript
复制
    Patient ID Day Dosage of Drug (mg)
     1552        1     .3
     1552        7     .8
     1552       14    1.2
     1663        1     .2
     1663        7     .7
     1663       18    1.4

我可以创建点图,x轴是"day“,y轴是每个患者,因此对于患者ID 1552,在第1天、第7天和第14天有三个点。但现在我想让点的大小与当天服用的剂量成正比,这样第14天的点将大于7和1,在同一个患者ID线上。我有没有办法做到这一点?

我知道dotchart()函数有一个可修改的cex元素,可以改变y轴的字体/点大小,但它是统一的。有没有办法分别绘制每个点,并且每次根据剂量数据使点的大小不同?

EN

回答 2

Stack Overflow用户

发布于 2012-06-13 22:05:51

我将使用ggplot2创建这样一个图表:

代码语言:javascript
复制
ggplot(aes(x = day, y = patient, size = dosage), data = df) + 
      geom_point()

其中,我假设包含数据的data.frame名为df,并且它包含名为day、patient和dosage的列。

票数 1
EN

Stack Overflow用户

发布于 2012-06-13 22:06:58

如果你使用ggplot2包,你可以这样做:

代码语言:javascript
复制
dat <- read.table(textConnection("ID Day Dose
     1552        1     .3
     1552        7     .8
     1552       14    1.2
     1663        1     .2
     1663        7     .7
     1663       18    1.4"), header=TRUE)    

require(ggplot2)
p <- ggplot(dat, aes(factor(Day), factor(ID)))
p + geom_dotplot(binaxis = "y", stackdir = "center", binpositions="all") + 
 geom_point(aes(size=Dose))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11015213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档