ggnetwork缩放边缘和节点(顶点)的大小独立(不同的几何图形,不同的缩放比例)

杰罗恩·鲍耶(Jeroen Boeye)

问题:

我想对使用ggnetwork软件包创建的网络中的边缘和节点使用其他大小比例。如果您看下面的图像,您可能会认为我已经这样做了,因为它们的大小都不同,但是实际上在此图中,边和节点的大小并没有独立缩放。它们都通过scale_size_area()函数朝着相同的最大值缩放(30)。如果得到更大的节点,则边缘将缩小。我猜我的问题归结为按比例缩放具有不同功能的不同几何图形的大小。因此,例如,如何缩放的大小scale_size_area(max_size = 30)和的边缘的大小scale_size_continuous(range = c(1,6))

示例代码:

#load packages
library(network)
library(sna)
library(ggplot2)
library(ggnetwork)

#create data
#data for edges
edge_df<-data.frame(group1=c("A","A","B"),
           group2=c("B","C","C"),
           connection_strength=c(1,2,3))

#data for nodes/vertexes
vertex_df<-data.frame(group=c("A","B","C"),
                      groupsize=c(2,3,4))

#create network
my_network<-network(edge_df[,1:2],directed = FALSE)

#add edge attribute (interaction strength) to network object
set.edge.attribute(my_network, "connection_strength", edge_df$connection_strength)

#add node/vertex info to network object with the special %v% operator
my_network %v% "groupsize" = vertex_df$groupsize 

#plot
ggplot(my_network, aes(x = x, y = y, xend = xend, yend = yend,color=vertex.names)) +
  #edge size depends on connection strength
  geom_edges(color = "black",aes(size=connection_strength/20)) +
  #node size depends on groupsize
  geom_nodes(aes(size=groupsize)) +
  #scale size area is good for nodesize but I want a different scaling for the edges
  scale_size_area(max_size = 30,guide=F)+
  scale_color_discrete(guide=F)+#remove colour legend
  scale_x_continuous(limits=c(-0.15,1.15))+#add some space to x-axis
  scale_y_continuous(limits=c(-0.15,1.15))+#add some space to y-axis
  theme_bw()#simple plot layout

示例图:

网络图示例

神父

这个问题几乎是重复的

我不是ggplot2专家,但据我了解,双重缩放(例如,具有两个y轴或两个色标)与图形语法矛盾。

上述问题的解决方案可能会奏效,但它是一个黑客。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

手动缩放多个几何图形的颜色,形状和线型ggplot2

提取在 AutoCAD 中缩放的几何图形的新坐标

Godot 图像的缩放比例不同

Google地图根据窗口调整大小设置不同的缩放比例

JavaFX将大小不同的节点缩放到相同的大小

算法:生成用于不同缩放比例的QuadKeys

极端的 alpha 缩放意外地导致完全透明的几何图形

使用ggplot2对两个不同几何图形进行“着色”和“填充”的混合图例

NetworkX 绘图:节点位置和大小之间的单位/比例不同?

如何通过将条形图位置映射到原始图的比例,将条形图叠加在具有不同几何图形的其他图之上

Matplotlib缩放后的图形大小和位置

为什么表格宽度和文本大小彼此之间缩放比例不同?

共享不同大小的子图轴的缩放比例(不共享轴)

pandas 列中不同组的不同缩放比例

SpriteKit-SKSpriteNode在3,5英寸和4英寸设备上的缩放比例不同

LibGdx Box2d和Scene2d上不同设备之间的缩放比例

字体无法正确显示为不同的缩放比例和显示尺寸

用自己的几何图形扩展ggplot:调整默认比例

从使用2种不同几何图形创建的ggplot图例中删除某些值

如何使用ggplot2图例表示不同的几何图形

如何在openlayers 6中对不同类型的几何图形进行聚类?

在 ggplot 中对 X 轴进行排序,当有多个具有不同因素的几何图形时

在 WPF 中通过触发器在不同控件上使用相同的 SVG 几何图形

轮播缩放比例与背景图片不同

缩放具有不同比例因子的单个图像

Openlayers 地图比例线相同的缩放率以公制重复两次 - 尽管缩放不同

复杂SVG图形HTML / CCS的比例缩放

为什么在比例缩放的GLES20RecordingCanvas和简单的Canvas上绘制的路径具有不同的品质?

在R中使用相同的x轴创建具有不同几何图形表示的构面图