R 使用ggplot2创建引出序号打印:使用..计数。。要调整几何点的大小?
我想用R 使用ggplot2创建引出序号打印:使用..计数。。要调整几何点的大小?,r,ggplot2,R,Ggplot2,我想用ggplot2创建一个气球图,其中点的大小是给定坐标下的数据频率 给定data.framed: d = structure(list(value.x = structure(c(2L, 2L, 3L, 2L, 3L, 2L, 2L, 2L, 3L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 2L), .Label = c("Not at all Knowledgeable", "Somewhat Knowledgeable", "Very Knowle
ggplot2
创建一个气球图,其中点的大小是给定坐标下的数据频率
给定data.framed
:
d = structure(list(value.x = structure(c(2L, 2L, 3L, 2L, 3L, 2L, 2L, 2L, 3L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 2L), .Label = c("Not at all Knowledgeable", "Somewhat Knowledgeable", "Very Knowledgeable"), class = c("ordered", "factor")), value.y = structure(c(5L, 5L, 3L, 5L, 5L, 5L, 5L, 5L, 4L, 4L, 5L, 4L, 4L, 4L, 5L, 4L, 5L, 5L, 4L, 4L), .Label = c("Much less knowledgeable", "Less knowledgeable", "Same as before workshop", "More knowledgeable", "Much more knowledgeable"), class = c("ordered", "factor"))), .Names = c("value.x", "value.y"), row.names = c(NA, 20L), class = "data.frame")
我想做一些类似的事情:
ggplot(d,aes(value.x,value.y,size=..count..))+geom_point()
其中数据点与数据出现的次数成正比,但我不知道如何正确设置我想要的点的大小
重要的是,我希望避免在
d
中创建一个新的列,就像对其他数据集(例如)所做的那样,仅用于数据计数。这看起来很混乱,如果可以的话,我想利用ggplot2
的力量。根据@BenBolker的建议,我使用stat\u sum()
找到了一个解决方案:
请参见
stat_sum()
…关于您的最后一句话:虽然在ggplot
中确实有一些很好的帮助函数,但是在将数据馈送到ggplot
之前聚合数据通常更容易、更透明。您确实意识到ggplot实际上是在复制数据并添加计算列,对吗?为什么不自己做(即使是在临时数据框中),这样您就可以拥有更多的控制权?“凌乱”是怎么回事?请注意,对于良好的图形设计,您可能需要添加+scale\u size\u area()
,以使面积而不是半径与计数数成比例。。。
ggplot(d, aes(value.x, value.y, size = ..n..)) + stat_sum()