r - 如何获得更合乎逻辑的比例尺?
问题描述
我已经绘制了英国各地长尾小鹦鹉观测的点数据(现在是假的),观测值由观测所在区域的人口密度着色。我有一个连续的比例尺,但比例尺本身是笨拙的注释. 我怎样才能用更均匀的分隔线来绘制它?
这是代码:
############################PLOT OBSERVATIONS x POP_DENS ################ ###########
ggplot() +
geom_polygon(data = UK, aes(x=long, y = lat, group = group), fill="gray14", alpha=0.7) +
geom_point(data=paratweets_4, aes(x=coords.x1, y=coords.x2, color=pop_dens, shape=Occupancy), size=2,stroke=FALSE) +
scale_color_viridis(option="magma", trans="log", name="Human Population Density (km2)") +
theme_minimal() + ylim(50,59) + coord_map() +
ggtitle("Parakeet Observations")
解决方案
一种策略是为比例尺制作一列,并使用对您有意义的指标。例如,
df %>%
mutate(scale_column = case_when(
pop_dens == 0 ~ "0",
pop_dens > 0 & pop_dens < 100 ~ "0-100",
pop_dens > 100 & pop_dens < 1000 ~ "100-999",
pop_dens > 1000 & pop_dens < 2000 ~ "1000-1999",
))
然后使用该列作为您的比例。另一种选择是修改天平的中断。
但是,我认为在这种情况下,不按颜色缩放可能是有意义的,而是改变size
点的大小。
推荐阅读
- wpf - 在 WPF 中使用 IsAsync 绑定数据时如何防止数据网格刷新
- javascript - Laravel & chartjs 空白画布
- python - 在python中调整图片大小
- unreal-engine4 - 如何编译虚幻引擎插件并更新当前 UE 版本?
- python - 有没有办法在 Python 中创建嵌套类属性?
- firebase - 我可以在 Firebase 集合中保存的最大文档大小是多少?
- c++ - 如何使用 Boost Spirit 解析类似转义字符串的 CSV?
- java - 在 Apache Ignite 中获取内存指标
- angular - 带有自定义组件的角度表单渲染
- android - Android:如何在 MediaPlayer 中播放无缝音频循环?