我正在尝试创建一个绘图,该绘图的点来自在栅格对象上绘制的不同数据帧。我正在使用填充,尺寸和形状美学。
我正在制作许多图,并在不同页面上以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会包含“缺失值”。
任何建议都会很棒。 谢谢:)