Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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创建特征发生次数的气泡图_R_Charts_Visualization_Bubble Chart - Fatal编程技术网

使用R创建特征发生次数的气泡图

使用R创建特征发生次数的气泡图,r,charts,visualization,bubble-chart,R,Charts,Visualization,Bubble Chart,我有一个包含一些条目的表格,希望直观显示每个条目的发生次数。我想用一种气泡图(因为没有更好的术语)来表示这一点 例如,像这样,只需要一个固体颜色和大小相对于发生的次数 我尝试使用ggplot2 geom_point()图,但我需要每个点的特定x-y坐标,但我希望或多或少随机,但不重叠,如上所述 我可以使用某种形式的ggplot来实现这一点,而不必自己安排点吗 有人知道更好的R包吗?我不知道该搜索什么,因为我不是以英语为母语的人,所以这方面的提示也很受欢迎 编辑:igraph包空图形生成重叠顶点

我有一个包含一些条目的表格,希望直观显示每个条目的发生次数。我想用一种气泡图(因为没有更好的术语)来表示这一点

例如,像这样,只需要一个固体颜色和大小相对于发生的次数

我尝试使用ggplot2 geom_point()图,但我需要每个点的特定x-y坐标,但我希望或多或少随机,但不重叠,如上所述

我可以使用某种形式的ggplot来实现这一点,而不必自己安排点吗

有人知道更好的R包吗?我不知道该搜索什么,因为我不是以英语为母语的人,所以这方面的提示也很受欢迎

编辑:igraph包空图形生成重叠顶点


一种方法是使用
igraph
包生成一个没有连接节点的链接的图形。默认布局将防止它们相互碰撞。因为您没有提供数据,所以我使用任意大小和标签

library(igraph)
g = make_empty_graph(26)

## Arbitrary Labels
V(g)$label = LETTERS

## Arbitrary sizes
V(g)$size  = sample(20:40, 26, replace=TRUE)

plot(g, vertex.color="lightgreen")

您要用于该大小的引用数似乎包括一些较大的数字。您可能需要缩放它们以用于节点大小

附加 此图的默认布局为Fruchterman Reingold(
layout\u with\u fr
),但也有其他布局应分隔断开连接的节点。另外两个对我有效的算法是Graphhopt算法(
layout\u with_Graphhopt
)和Davidson and Harel(
layout\u with_dh
),它将节点布置在矩形阵列中

LO_GO = layout_with_go(g)
plot(g, vertex.color="lightgreen", layout = LO_GO)

LO_DH = layout_with_dh(g)
plot(g, vertex.color="lightgreen", layout = LO_DH)

谢谢,这几乎就是我想要的,但是当我复制你的例子时,我得到了重叠的顶点(与你的原始值)。看到我在帖子中编辑的图片了吗?这很奇怪。我没有编辑图像。刚才,我启动了一个新的R会话,并将代码粘贴到命令窗口中,得到了与以前相同的图片——没有重叠。