知行网站建设,wordpress调用分类标题,软件商店官方下载,策划公司网站设计简介
书接adjustText实践——调整matplotlib散点图标签#xff0c;避免重复
上文中#xff0c;matplotlibadjustText对于我的实例来说并没有起到很好的效果。所以#xff0c;博主决定在R中利用gglot2ggrepel绘制#xff0c;期待效果。
操作过程
博主不常使用R#xff…简介
书接adjustText实践——调整matplotlib散点图标签避免重复
上文中matplotlibadjustText对于我的实例来说并没有起到很好的效果。所以博主决定在R中利用gglot2ggrepel绘制期待效果。
操作过程
博主不常使用R在此过程中详细记录每一步骤以作备忘。
1. R读取数据openxlsx
library(openxlsx)fossils read.xlsx(D://Work_Space/mahonia/1-化石记录/2023-3-17-Mahonia_fossils_leaf.xlsx)
2. 绘制散点图ggplot2
2.1 快速绘制散点图plot
library(ggplot2)plot(fossils$Lon, fossils$Lat)2.2 geom_point()
library(gcookbook)
library(dplyr)ggplot(data fossils %% select(Lon, Lat), aes(xLon, yLat)) geom_point() 2.3 分组展示分型和年龄
library(openxlsx)fossils - read.xlsx(D://Work_Space/mahonia/1-化石记录/2023-3-17-Mahonia_fossils_leaf.xlsx)simple_fossils - fossils %% select(Genus, Name, Epoch, Lon, Lat, Group)
library(ggplot2)# plot(fossils$Lon, fossils$Lat)library(gcookbook)
library(dplyr)ggplot(data simple_fossils %% select(Lon, Lat, Group, Epoch), aes(xLon, yLat, shapeGroup, colorEpoch)) geom_point()2.4 添加文本注释geom_text()
ggplot(data simple_fossils %% select(Lon, Lat, Group, Epoch, Name), aes(xLon, yLat, shapeGroup, colorEpoch)) geom_point() geom_text(aes(label Name), size 2)3. 优化文本注释位置ggrepel
library(ggrepel)ggplot(data simple_fossils %% select(Lon, Lat, Group, Epoch, Name), aes(xLon, yLat, shapeGroup, colorEpoch)) geom_point() geom_text_repel(aes(label Name), size 3)可以看到有许多标签没有显示出来。
尝试减小字体
ggplot(data simple_fossils %% select(Lon, Lat, Group, Epoch, Name), aes(xLon, yLat, shapeGroup, colorEpoch)) geom_point() geom_label_repel(aes(label Name), size 1)根据警示信息增加max.overlaps
ggplot(data simple_fossils %% select(Lon, Lat, Group, Epoch, Name), aes(xLon, yLat, shapeGroup, colorEpoch)) geom_point() geom_label_repel(aes(label Name), size 2, max.overlaps 30)效果也不行还是挤在一起。
4. 绘制世界地图
4.1 地图
world - map_data(world)world_map - ggplot() geom_map(data world, mapworld, aes(xlong, ylat, map_idregion),color black, fill lightgray, size 0.1)scale_x_continuous(breaks seq(-180, 210, 45), labels function(x){paste0(x, °)}) scale_y_continuous(breaks seq(-60, 100, 30), labels function(x){paste0(x, °)})world_map4.2 散点地图
world_map geom_point(data simple_fossils %% select(Lon, Lat, Group, Epoch, Name), aes(xLon, yLat, shapeGroup, colorEpoch))4.2 合理调整文本
world_map geom_point(data simple_fossils %% select(Lon, Lat, Group, Epoch, Name), aes(xLon, yLat, shapeGroup, colorEpoch)) geom_label_repel(datasimple_fossils %% select(Lon, Lat, Group, Epoch, Name), aes(xLon, yLat, labelName, colorEpoch,fontfaceitalic), size2, max.overlaps 100, box.padding 0.4, label.padding 0.1)后记
经过一番努力达到的效果比python绘图要好一些。但是在保存图片时却不如python。后面再努努力吧。