Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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_Ggplot2_Data Visualization - Fatal编程技术网

R 将图例放入图形中

R 将图例放入图形中,r,ggplot2,data-visualization,R,Ggplot2,Data Visualization,我正在尝试绘制全球terorrism数据集的堆叠条形图,可从以下链接获得: 我的目标是将图例放在图形中,精确地放在右下角,并增加绘图的总大小以使其可读。我设法达到的最接近我意图的东西是由以下代码组成的 此绘图所需的库 library(tidyverse) library(ggplot) 代码: 当然,我的目的是不在酒吧里用这个传说。非常感谢您的阅读,我希望也感谢您的帮助。是否考虑过更改情节 我建议您使用networkD3创建一个sankey图 这是这样做的: ## maybe you mus

我正在尝试绘制全球terorrism数据集的堆叠条形图,可从以下链接获得: 我的目标是将图例放在图形中,精确地放在右下角,并增加绘图的总大小以使其可读。我设法达到的最接近我意图的东西是由以下代码组成的

此绘图所需的库

library(tidyverse)
library(ggplot)
代码:


当然,我的目的是不在酒吧里用这个传说。非常感谢您的阅读,我希望也感谢您的帮助。

是否考虑过更改情节

我建议您使用
networkD3
创建一个sankey图

这是这样做的:

## maybe you must install some of packages first:
library(tidyverse)
library(viridis)
library(patchwork)
library(hrbrthemes)
library(circlize)
library(networkD3)

# filling no data columns wit "No Data"
dfw2$weapsubtype1_txt[dfw2$weapsubtype1_txt==""] <- "No Data"

#generating nodes (the unique type or subtype of weapon
nodes <- data.frame(name=unique(c(dfw2$weaptype1_txt, dfw2$weapsubtype1_txt)))

# correspondences are marked by number
dfw2$IDsource=match(dfw2$weaptype1_txt, nodes$name)-1 
dfw2$IDtarget=match(dfw2$weapsubtype1_txt, nodes$name)-1


# Make the Network
  san<- sankeyNetwork(Links = dfw2, Nodes = nodes,
                    Source = "IDsource", Target = "IDtarget",
                    Value = "nweapons", NodeID = "name",
                    sinksRight=FALSE,fontFamily="Source Sans Pro")
san
##也许您必须先安装一些软件包:
图书馆(tidyverse)
图书馆(绿色)
图书馆(拼凑)
图书馆(HRBR主题)
图书馆(圆形)
图书馆(网络3)
#用“无数据”填充无数据列

dfw2$weapusubtype1_txt[dfw2$weapusubtype1_txt==“”]考虑到图例中有多少因素,这似乎不太可能起作用。你能以某种方式整合它们吗?@cardinal40说的第二点是,大多数data viz人员都会警告不要在类别中使用超过少数的颜色,而标准调色板(如ColorBrewer和CartoColor系统)最多也不会超过12种。有些人会争辩说,超过6种颜色,类别变得难以区分,可能有更好的方法来聚合和/或显示数据。至于代码,您还可以在主题中调整图例.对齐
是否有其他更好的图形显示解决方案?这取决于您制作图表的目的。如果不下载整个文件,我不确定数据中的所有内容或哪些类别可能很重要(
dput
,发布一个示例会很有帮助),但您可能会将这些类别折叠成更大的簇,这是一个非常酷的图!非常感谢你。我想知道是否有办法增加输出的总维度,因为在我的html中,键和颜色都很小。
san
## maybe you must install some of packages first:
library(tidyverse)
library(viridis)
library(patchwork)
library(hrbrthemes)
library(circlize)
library(networkD3)

# filling no data columns wit "No Data"
dfw2$weapsubtype1_txt[dfw2$weapsubtype1_txt==""] <- "No Data"

#generating nodes (the unique type or subtype of weapon
nodes <- data.frame(name=unique(c(dfw2$weaptype1_txt, dfw2$weapsubtype1_txt)))

# correspondences are marked by number
dfw2$IDsource=match(dfw2$weaptype1_txt, nodes$name)-1 
dfw2$IDtarget=match(dfw2$weapsubtype1_txt, nodes$name)-1


# Make the Network
  san<- sankeyNetwork(Links = dfw2, Nodes = nodes,
                    Source = "IDsource", Target = "IDtarget",
                    Value = "nweapons", NodeID = "name",
                    sinksRight=FALSE,fontFamily="Source Sans Pro")
san