Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用ggplot2创建引出序号打印:使用..计数。。要调整几何点的大小?_R_Ggplot2 - Fatal编程技术网

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.frame
d

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()