0

我正在尝试绘制一些数据(不幸的是,主要是字符数据)并且我想使用 geom_flag 创建小标志图像以放在 x 轴(x = Country)上的标签下以使其更清晰,因为我无法编写完整的国名(阿根廷等长名字会很乱)

但是我得到的是下面的图像......只出现了一些标志,它们甚至没有正确显示,因为图像似乎“不够高”来包含它们。如何修改我的代码以显示所有标志并确保图像完全显示在图表中?我知道这很复杂,非常感谢您的帮助!这是我的代码:

data$iso2 <- countrycode(data$Country, "country.name", "iso2")

heatmap_trial3 <- y_Rec1 %>%
  select(iso2, Place, `Contentious?`,`Comments number`, Country) %>%
  ggplot(aes(x=iso2,
             y=Place,
             group=iso2)) +
  geom_point(aes(shape=`Contentious?`,
                 size=`Comments number`,
                 color=Country)) +
  theme(plot.background = element_rect(fill = NA),
        panel.background = element_rect(fill = "white")) +
  guides(size=FALSE, color=FALSE) +
  geom_flag(y =-0.75, aes(image = iso2)) +
  xlab(NULL) + expand_limits(y=-0.75)

我的数据的 dput():

结构(列表(iso2 = c(“CA”,“DE”,“DE”,“CA”,“CA”,“AU”,“RU”,“BE”,“BE”,“BE”,“BE "、"TR"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、 “DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE” ”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “德”,“德”,“德”,“德”,“FR”、“FR”、“FR”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“FR” ”、“FR”、“FR”、“JP”、“JP”、“JP”、“JP”、“JP”、“SA”、“SA”、“BR”、“BR”、“BR”、 “BR”、“BR”、“BR”、“BR”、“BR”、“BR”、“BR”、“BR”、“RU”、“RU”、“BE”、“IT”、“IT” ”,“IT”,“IT”,“IT”,“IT”,“IT”,“IT”,“AR”,“IT”,“IT”,“CH”,“AR”,“IT”, “美国”、“美国”、“AR”、“AR”, “AR”, “AR”, “AR”, “JP”, “JP”, “US”, “US”, “US”), Place = structure(c(4L, 3L, 3L, 3L, 4L,4L,3L,5L,5L,5L,5L,4L,2L,2L,2L,2L,2L,3L,3L,3L,3L,3L,3L,3L,4L,4L,4L,4L,4L, 4L,4L,4L,4L,4L,4L,4L,4L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,3L,3L, 4L,3L,4L,4L,4L,4L,5L,5L,5L,5L,4L,4L,5L,4L,5L,5L,5L,5L,3L,4L,2L,4L,4L,4L,5L, 5L,5L,5L,5L,5L,2L,3L,5L,3L,3L,2L,2L,2L,3L,3L,4L,4L,5L,5L,5L,3L,5L,3L,3L,5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 4L, 5L), .Label = c("Context Intro", "Context Rec 1", "Protectionism", "WTO 改革", "Multilateralism", “上下文建议 2”、“危机应对”、“海关”、“Gloval 价值链”、“上下文建议 3”、“微型中小企业”、“贸易融资”、“出口信贷机构”、“上下文建议 4”、“绿色贸易”、“对外投资”)、类=“因素”),Contentious?= c("无争议", "有争议", "无争议", "无争议", "无争议", "无争议", "有争议", "无争议", "有争议", "无争议", “无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、 “无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“无争议”、“无争议” ”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“有争议”、“有争议”、“无争议”、“无争议”有争议的”、“无争议的”、“无争议的”、“无争议的”、“无争议的”、“有争议的”、“有争议的”、“有争议的”、“无争议的”、“无争议的”、“有争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“有争议”、“无争议”、“有争议”、“有争议”、“有争议”、“有争议” ”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议” , “没有争议”, “有争议”, “没有争议”, “有争议”, “没有争议”, “有争议”, “没有争议”, “没有争议”, “没有争议”, “无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“有争议”、“无争议”、“无争议”、“有争议”、“无争议”、 “无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议” "),“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议” , "有争议的", "没有争议的"),“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议” , "有争议的", "没有争议的"),Comments number= c(2L, 9L, 9L, 1L, 2L, 1L, 2L, 4L, 4L, 4L, 4L, 1L, 5L, 5L, 5L, 5L, 5L, 9L, 9L, 9L, 9L, 9L, 9L, 9L , 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L , 15L, 15L, 15L, 2L, 2L, 3L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 1L, 1L, 6L, 6L, 6L, 6L, 1L, 1L , 2L, 3L, 3L, 3L, 6L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 1L, 1L, 4L, 3L, 3L, 3L, 4L, 4L, 2L, 2L, 7L, 2L, 2L , 1L, 7L, 4L, 2L, 2L, 7L, 7L, 7L, 7L, 7L, 6L, 6L, 2L, 1L, 2L), 国家 = c("加拿大", "德国", "德国", "加拿大”, “加拿大”, “澳大利亚”, “俄罗斯”, “比利时”, “比利时”, “比利时”, “比利时”, “土耳其”, “德国”, “德国”, “德国”, “德国”, “德国”,“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国” “, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“法国”、“法国”、“法国” ", "中国", "中国", "中国", "中国”、“中国”、“中国”、“中国”、“中国”、“中国”、“法国”、“法国”、“法国”、“日本”、“日本”、“日本”、“日本” , “日本”, “沙特阿拉伯”, “沙特阿拉伯”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西” , “巴西”, “巴西”, “俄罗斯”, “俄罗斯”, “比利时”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”、“阿根廷”、“意大利”、“意大利”、“瑞士”、“阿根廷”、“意大利”、“美利坚合众国”、“美利坚合众国”、“阿根廷”、“阿根廷”、“阿根廷”、“阿根廷”、“阿根廷”、“日本”、“日本”、“美国美国”,“美利坚合众国”,“美利坚合众国”)),row.names = c(NA,-114L),类= c(“tbl_df”,“tbl”,“data.frame”))类 = c("tbl_df", "tbl", "data.frame"))类 = c("tbl_df", "tbl", "data.frame"))

4

1 回答 1

0

尝试添加+ expand_limits(y=-1)到您的ggplot陈述中。

请参阅函数作者的另一个示例。

将数据读入data对象后,此代码:

library(dplyr)
library(ggplot2)
library(ggimage)

data %>%
  select(iso2, Place, `Contentious?`,`Comments number`, Country) %>%
  ggplot(aes(x=iso2,
             y=Place,
             group=iso2)) +
  geom_point(aes(shape=`Contentious?`,
                 size=`Comments number`,
                 color=Country)) +
  theme(plot.background = element_rect(fill = NA),
        panel.background = element_rect(fill = "white")) +
  guides(size=FALSE, color=FALSE) +
  geom_flag(y =-0.75, aes(image = iso2)) +
  xlab(NULL) + expand_limits(y=-1)

...为我生成了带有未切断标志的图表: 图表结果

您可以试验 和 的不同y值。只需确保您的值将图表扩展得足够远以使标志可见。geom_flagexpand_limitsyexpand_limits

于 2021-03-22T23:27:45.237 回答