首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ggplot2的geom_dotplot中不同的点大小

Ggplot2的geom_dotplot中不同的点大小
EN

Stack Overflow用户
提问于 2019-10-01 06:21:18
回答 2查看 459关注 0票数 1

我试着画一个点图,其中一个数字y值根据字符变量进行分组。这很好用,但我还想根据另一个变量更改点的大小,以便在图中有三种不同大小的点。我可以改变点的大小,只是R看起来不太对劲。

我找不到一个好的样本数据集,所以我做了一个简单的例子:

代码语言:javascript
运行
复制
#Making some sufficient data:
y1 <- c(1,1,2,3,4,5,6,6)
x1 <- c('A','A','B','C','A','A','B','B') 
size1 <- c(0.3,0.3,0.3,0.3,0.3,0.6,0.6,1.0)

data1 <- data.frame(x1,y1,size1)
data1

#define size as a vector: apparently it helps some problems
size2 <- data1$size1 

#plot my dotplot! 
ggplot(data1, aes(x=x1,y=y1)) + 
geom_dotplot(binaxis="y", stackdir="center", dotsize=size2)

总体而言,点图工作得很好。Y变量根据它们的组A、B或C进行分组。但是,点的大小是不正确的:组C中唯一的点应该很小(dotsize=0.3),组A的y=1处的两个点的大小都应该相等……诸若此类。

Dotplot with all sorts of dotsize inaccuracies

“当在循环中绘制不同的数据集时,geom_dotplot点大小会发生变化”(geom_dotplot dot sizes change when plotting different datasets in loop)这个问题回答说,geom_dotplot的点大小并不完全是点大小,而是与面元宽度相关。这就可以解释为什么我有麻烦了。然而,我不确定如何解决这个问题。有没有一种方法可以可靠地改变ggplot2的点图中的点大小,或者我应该尝试用比geom_dotplot更灵活的工具来绘制点图?(重新启动R,我的计算机无法工作。)

干杯!

EN

回答 2

Stack Overflow用户

发布于 2019-10-01 07:10:18

使用geom_point而不是geom_dotplot应该可以解决这个问题

代码语言:javascript
运行
复制
ggplot(data1, aes(x=x1,y=y1)) + 
     geom_point(aes(size=size1))

票数 0
EN

Stack Overflow用户

发布于 2019-10-01 07:26:24

你分享的堆栈溢出线程阐明了你可以用geom_dotplot做什么,如果你添加了一个binwidth参数,你可以看到dotsize的效果。下面是一个例子,

代码语言:javascript
运行
复制
base <- ggplot(data1, aes(x=x1,y=y1))
base + geom_dotplot(binaxis="y", stackdir="center", dotsize=size1, binwidth = 1)

输出

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

https://stackoverflow.com/questions/58175968

复制
相关文章

相似问题

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