如何绕过ggplot2中的跌倒限制= FALSE

时间:2019-04-02 16:00:00

标签: r ggplot2

我正在尝试创建一个绘图,该绘图的点来自在栅格对象上绘制的不同数据帧。我正在使用填充,尺寸和形状美学。

我正在制作许多图,并在不同页面上以pdf格式打印。

即使该图不包含这些值,每个页面也应在图例上显示所有可能的选项。

我读到限制优先于drop = FALSE,因此drop = FALSE在我使用限制时不会起作用。

我想知道是否可以解决限制=

我在scale_shape_manual和scale_size_manual中尝试了drop = FALSE。

我还尝试将限制合并到scale_shape_manual和scale_size命令中。当我使用这样的限制时,图例确实保持不变,但是我丢失了现在显然包含“缺失值”的数据点

我尝试使用guides()并在图例中订购了物品。

我已经在栈上拖了一个答案,但是还没有成功实现任何东西。

请帮助。

下面是我的代码,我相信scale_fill_viridis_c(limits = cuberange)覆盖了我的下落,但我找不到其他选择。

我的cuberange只是该数据子集的多维数据集的最小值和最大值。

我了解我并没有详细说明所使用的所有df,但是我希望有人遇到并解决了相同的问题,所以我希望这是不需要的。

非常感谢您

显示的脚本具有限制,但是这不起作用,并且合并drop也不起作用。

r_plot <-ggplot()+

  geom_raster(data=cube_df_filtered, aes(x, y, fill = z)) + 
  geom_point(data = pr %>% filter(year_start == years[i]), 
                      aes(x = longitude, y = latitude, fill = prevalence, size = point_cat, shape = quarter)) +
  geom_point(data = hf, aes(x = Long, y = Lat), colour="red") +
  geom_polygon (data = shps, aes(long, lat, group = group), colour = 'grey', inherit.aes = FALSE, fill = NA) + 
  coord_equal(xlim =bbox[1:2], ylim = bbox[3:4], expand = FALSE) + 
  scale_size_manual(values = c(1, 2, 3, 4, 5, 6),name = "Examined",#drop = FALSE,
                    labels = c("<250", "250-500", "500-1000", "1000-2000", "2000-3000", ">3000"),
                    limits = c("<250", "250-500", "500-1000", "1000-2000", "2000-3000", ">3000")) +
  scale_shape_manual(values = 21:24,name = "Year quarter",#drop = FALSE,
                     labels = c("0", "1", "2", "3"),
                     limits = c("0", "1", "2", "3"),
                     breaks = c("0", "1", "2", "3")) +
  scale_fill_viridis_c(limits = cuberange) +
  scale_color_viridis_c(limits = cuberange) +
  theme_minimal() +
  labs(x = 'Longitidue', y = 'Latitude', fill = 'Prevalence', size = 'Sample Size', shape = 'Year quarter') +
  ggtitle(paste0('Cube: ', years[i]))

我希望看到带有3个变量的图例: 1)使用scale_shape_manual季度 2)使用经络量表的患病率 3)使用scale_size_manual进行检查

但是对于某些图形,我只能看到2)患病率。当我将限制合并到scale_size_manual中时,我会保留所有变量,但geom_point会包含“缺失值”。

任何建议都会很棒。 谢谢:)

0 个答案:

没有答案