16个ggplot图形及源码

加载相关R包

library(ggplot2)
library(reshape2)
library(lattice)
library(car)
library(tidyverse)
library(giscoR)
library(dplyr)
library(sf)
library(ggbeeswarm)
library(ridgeline)
library(treemapify)

1、散点图

ggplot(data=mtcars, aes(x=wt, y=mpg)) + geom_point(pch=17, color="blue", size=2) + geom_smooth(method="lm", color="red", linetype=2) + labs(title="Automobile Data", x="Weight", y="Miles Per Gallon")+theme_classic()+theme(axis.line = element_line(arrow = arrow(length = unit(0.2, 'cm'))))

2、气泡图

ggplot(mtcars, aes(x=wt, y=mpg, size=disp,color=cyl))+geom_point(alpha=.5) + geom_smooth(method="lm", linetype=1)+theme_classic()+theme(axis.line = element_line(arrow = arrow(length = unit(0.2, 'cm'))))

3、直方图

# Data
set.seed(5)
x <- rnorm(1000)
df <- data.frame(x)
#histogram
ggplot(df, aes(x = x)) + geom_histogram(aes(y = ..density..),colour = 1, fill = "white") +geom_density(lwd = 1, colour = 4,fill = 4, alpha = 0.25)+theme_classic()+theme(axis.line = element_line(arrow = arrow(length = unit(0.2, 'cm')))) #添加箭头

4、蜜蜂图

# Data
set.seed(1995)
y <- round(rnorm(200), 1)
beeswarm <- data.frame(y = y,group = sample(c("G1", "G2", "G3"),size = 200,replace = TRUE))
# Beeswarm
ggplot(beeswarm, aes(x = group, y = y, color = group)) +geom_beeswarm(cex = 3) +scale_color_brewer(palette = "Set1")+theme_classic()+theme(axis.line = element_line(arrow = arrow(length = unit(0.2, 'cm'))))

5、小提琴图

ggplot(singer, aes(x=voice.part, y=height)) + geom_violin(fill="lightblue") + geom_boxplot(fill="lightgreen", width=.2) +theme_classic()+theme(axis.line = element_line(arrow = arrow(length = unit(0.2, 'cm'))))

6、地毯图

ggplot(Salaries, aes(x=rank, y=salary)) + geom_boxplot(fill="cornflowerblue", color="black", notch=TRUE)+ geom_point(position="jitter", color="blue", alpha=.5)+ geom_rug(side="l", color="black")#地毯图

7、密度图

ggplot(data=Salaries, aes(x=salary, fill=rank)) + geom_density(alpha=.3)+theme_classic()+theme(axis.line = element_line(arrow = arrow(length = unit(0.2, 'cm')))) #添加箭头

8、分组密度图

remotes::install_github("R-CoderDotCom/ridgeline@main")
ridgeline(chickwts$weight, chickwts$feed)

9、箱图

ggplot(data=Salaries, aes(x=rank, y=salary, fill=sex)) + geom_boxplot() + scale_x_discrete(breaks=c("AsstProf", "AssocProf", "Prof"), labels=c("Assistant\nProfessor", "Associate\nProfessor", "Full\nProfessor")) + scale_y_continuous(breaks=c(50000, 100000, 150000, 200000), labels=c("$50K", "$100K", "$150K", "$200K")) + labs(title="Faculty Salary by Rank and Gender", x="", y="", fill="Gender") + theme(legend.position=c(.1,.8))

10、热图

# Data
set.seed(8)
m <- matrix(round(rnorm(200), 2), 10, 10)
colnames(m) <- paste("Col", 1:10)
rownames(m) <- paste("Row", 1:10)
# Transform the matrix in long format
heat <- melt(m)
colnames(heat) <- c("x", "y", "value")ggplot(heat, aes(x = x, y = y, fill = value)) +geom_tile(color = "black") +geom_text(aes(label = value), color = "white", size = 4) +scale_fill_gradient2(low = "#075AFF",mid = "#FFFFCC",high = "#FF0000") +coord_fixed()

11、堆积条形图

# Data
set.seed(1)
age <- factor(sample(c("Child", "Adult", "Retired"),size = 50, replace = TRUE),levels = c("Child", "Adult", "Retired"))
hours <- sample(1:4, size = 50, replace = TRUE)
city <- sample(c("A", "B", "C"),size = 50, replace = TRUE)
df <- data.frame(x = age, y = hours, group = city)ggplot(df, aes(x = x, y = y, fill = group)) + geom_bar(stat = "identity") +scale_fill_manual(values = c("#DADAEB", "#9E9AC8", "#6A51A3"))

12、饼图

df <- data.frame(value = c(10, 23, 15, 18),group = paste0("G", 1:4))ggplot(df, aes(x = "", y = value, fill = group)) +geom_col(color = "black") +geom_text(aes(label = value),position = position_stack(vjust = 0.5)) +coord_polar(theta = "y") +scale_fill_brewer() +theme_void()

13、树图

group <- paste("Group", 1:9)
subgroup <- c("A", "C", "B", "A", "A","C", "C", "B", "B")
value <- c(7, 25, 50, 5, 16,18, 30, 12, 41)
df <- data.frame(group, subgroup, value) ggplot(df, aes(area = value, fill = value, label = group)) +geom_treemap() +geom_treemap_text(colour = "white",place = "centre",size = 15,grow = TRUE)

14、玫瑰图

set.seed(4)
df <- data.frame(x = 1:10,y = sample(1:10))
ggplot(df, aes(x = x, y = y, fill = y)) +geom_bar(stat = "identity", color = "white",lwd = 1, show.legend = FALSE)+ coord_polar()

15、地图

ggplot(map_data("world"),aes(long, lat, group = group)) +geom_polygon(fill = "white", colour = 1)

16、地图

# CRS
epsg_code <- 3035
# Countries
EU_countries <- gisco_get_countries(region = "EU") %>%st_transform(epsg_code)
# Centroids for each country
symbol_pos <- st_centroid(EU_countries, of_largest_polygon = TRUE)
# Airports
airports <- gisco_get_airports(country = EU_countries$ISO3_CODE) %>%st_transform(epsg_code)
number_airports <- airports %>%st_drop_geometry() %>%group_by(CNTR_CODE) %>%summarise(n = n())
labels_n <-symbol_pos %>%left_join(number_airports,by = c("CNTR_ID" = "CNTR_CODE")) %>%arrange(desc(n))
# Rescale sizes with log
labels_n$size <- log(labels_n$n / 15)
plot(st_geometry(EU_countries),main = "Airports by country (2013)",sub = gisco_attributions(),col = "white", border = 1,xlim = c(2200000, 7150000),ylim = c(1380000, 5500000))
plot(st_geometry(labels_n),pch = 21, bg = 4,    # Symbol type and colorcol = 4,             # Symbol border colorcex = labels_n$size, # Symbol sizesadd = TRUE)
legend("right",xjust = 1,y.intersp = 1.3,bty = "n",legend = seq(100, 500, 100),col = "grey20",pt.bg = 4,pt.cex = log(seq(100, 500, 100) / 15),pch = 21,title = "Airports")

R语言ggplot2作图及代码(气泡图、热图、箱图、蜜蜂图、玫瑰图、地图等)相关推荐

  1. 数据可视化——R语言ggplot2包绘制相关矩阵为热图

    数据可视化--R语言ggplot2包绘制相关矩阵为热图 概述:R语言软件和数据可视化--ggplot2快速绘制相关矩阵为热图.本文翻译了一篇英文博客,博客原文链接:http://www.sthda.c ...

  2. R语言ggplot2可视化使用facet_grid构建多个子图(facet、面图)并自定义每个子图(facet、面图)的文本实战

    R语言ggplot2可视化使用facet_grid构建多个子图(facet.面图)并自定义每个子图(facet.面图)的文本实战 目录

  3. R语言ggplot2可视化:使用ggpubr包的ggdotplot函数可视化分组点阵图(dot plot)、设置palette参数设置不同分组点阵图数据点的颜色

    R语言ggplot2可视化:使用ggpubr包的ggdotplot函数可视化分组点阵图(dot plot).设置palette参数设置不同分组点阵图数据点的颜色 目录

  4. 使用R语言ggplot2包绘制pathway富集分析气泡图(Bubble图):数据结构及代码

    气泡图是在笛卡尔坐标系同加入大小的参数所形成的可以表示三个变量关系的图例.在对基因完成GO/KEGG分析后,使用气泡图可以直观的展示pathway.pvalue.count之间的关系.下面为使用R语言 ...

  5. R语言ggplot2可视化气泡图:无填充色的气泡图、自定义填充色的气泡图

    R语言ggplot2可视化气泡图:无填充色的气泡图.自定义填充色的气泡图 目录 R语言ggpl

  6. R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图、2D密度估计、MASS包中的kde2d函数实现2D密度估计、geom_density2d函数可视化二维密度图

    R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图.2D密度估计.MASS包中的kde2d函数实现2D密度估计.geom_density2d函数可视化二维密度图 目录

  7. R语言ggplot2可视化气泡图(bubble plot)、将可视化图像的图例(lengend)放置在图像底部、图例水平方向排布(horizontal direction)、图例标题在图例标签顶部

    R语言ggplot2可视化气泡图(bubble plot).将可视化图像的图例(lengend)放置在图像底部.图例水平方向排布(horizontal direction).图例标题在图例标签顶部(l ...

  8. [置顶]R语言 ggplot2包

    R语言  ggplot2包的学习 分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将绘图 ...

  9. r语言ggplot2 多线图绘制图例_plotnine: Python版的ggplot2作图库

    腾讯课堂 | Python网络爬虫与文本数据分析 同样的基本作图任务,plotnine比matplotlib和seaborn代码量少,更美观.所以我又重新发一遍,大家可以先收藏起来,后面总有用到的时候 ...

最新文章

  1. 史上最详细阿里云服务器上Docker部署War包项目 实战每一步都带详细图解!!!
  2. mqtt 一对多_MQTT协议简要分析
  3. 通过ObjectProvider进行依赖查找
  4. SAP Spartacus 中,Angular <ng-container>使用的一个例子
  5. angularjs html 缓存,如何删除使用AngularJS的HTML中的浏览器缓存?
  6. c语言列车调度 栈,这个用栈调度火车的程序到底是怎么回事?
  7. BZOJ1431 : MLand
  8. 查歌词php,php krc歌词解析
  9. 《layui宇宙版教程》:分页组件laypage
  10. python oct_Python oct()用法及代码示例
  11. Thanos 组件介绍以及使用心得
  12. 若伊Vue快速容器部署
  13. 【笔记】canvas 绘制足球 —— 第一步 画个球体
  14. 可视化工具VisIt安装使用教程(Windows)
  15. 计算机视觉中的传统特征提取方法总结
  16. 自行车安全交叉路口设计
  17. Flowable Unknown property used in expression: xxx
  18. 2020.10拼多多前端秋招面经
  19. 数模编程中使用什么语言比较好呢?
  20. Mac note -one

热门文章

  1. Altium Designer 21 关于常用的快捷键
  2. 实战-赶集网爬虫requests
  3. JavaScript基础入门-----万字详解
  4. 无需GPS,一种更低成本的室内导航解决方案,你值得拥有
  5. 导出Excel之单元格插入图片
  6. html标题和段落一样大,HTML标题和段落
  7. python3 + Gooey快速开发GUI应用程序
  8. mob.com亮相TFC 助力全球手游开发者扬帆
  9. android studio 分析 hprof,Android Studio 中的 HProf静态分析
  10. 连goto都解决不了的问题, 那就用do while(0)来解决吧!