用scale _ * _ continuous超出geom_voronoi的限制

问题描述 投票:0回答:1

我为我自己设定的任务是为当前正在竞选的民主党候选人制作www.politicalcompass.org图表的voronoi图。我已经编码了它们的位置,并将重叠的点合并成单个观测值。我使用了两个单独的ggplot扩展来创建voronoi图。

问题是,policycompass.org的图表在两个轴上都从-10变为+10。当我尝试绘制voronoi图时,它们仅扩展到其原始极限,而没有扩展到我打算绘制的-10到10的整个范围。下面的示例和代码:

https://github.com/McCartneyAC/average_of_polls/blob/master/stupid_voronoi_one.png?raw=true

https://github.com/McCartneyAC/average_of_polls/blob/master/stupid_voronoi_two.png?raw=true

library(tidyverse)
library(ggrepel)

candidates_list_voronoi <-  tribble(
  ~candidate,~party,~economic,~authoritarian,
  "Bennet","Democratic",8.5,6,
  "Biden","Democratic",5.5,3.5,
  "Booker","Democratic",4,2.5,
  "Buttigieg/Castro","Democratic",6.5,4.5,
  "Delaney","Democratic",4,3.5,
  "Gabbard","Democratic",-1.5,-1.5,
  "Harris","Democratic",5,4,
  "Bullock/Klobuchar","Democratic",5,5,
  "Sanders","Democratic",-1.5,-1,
  "Sestak","Democratic",5.5,2,
  "Warren","Democratic",0.5,1,
  "Williamson","Democratic",2,-1.5,
  "Yang","Democratic",7,1,
  "Hawkins","Green",-5,-3,
  "Vohra","Libertarian",10,1.5,
  "Corker/Pence","Republican",10,8.5,
  "Hogan","Republican",10,8,
  "Kasich","Republican",8,9,
  "Trump","Republican",8.5,8.5,
  "Weld","Republican",9.5,4.5
)


library(ggvoronoi)
candidates_list_voronoi %>% 
  ggplot(aes(economic, authoritarian, label = candidate, fill = candidate)) +
  geom_voronoi(color = "black") +
  geom_label_repel(fill = "#FFFFFF") + 
  scale_x_continuous(limits = c(-10,10))+ 
  scale_y_continuous(limits = c(-10,10))


library(ggforce)
candidates_list_voronoi %>% 
  ggplot(aes(economic, authoritarian)) +  
  geom_voronoi_tile(aes(fill = candidate, group = -1L)) +
  geom_voronoi_segment() +
  geom_label_repel(aes(label = candidate)) + 
  scale_x_continuous(limits = c(-10,10))+ 
  scale_y_continuous(limits = c(-10,10))
r ggplot2 voronoi
1个回答
0
投票

您可以在outlinegeom_voronoi参数中指定边界框(请参见插图示例here)。

outline.df <- data.frame(x = c(-10, 10, 10, -10),
                         y = c(-10, -10, 10, 10))

candidates_list_voronoi %>% 
  ggplot(aes(economic, authoritarian, fill = candidate)) +
  geom_voronoi(outline = outline.df,
               color = "black")

(省略标签部分,因为它对问题并不重要。)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.