柱状图,Graphpad prism风格, 去掉右上框线,左边周紧贴,Y轴最大值的1.1倍
#柱状图,Graphpad prism风格, 去掉右上框线,左边周紧贴,Y轴最大值的1.1倍
library(tidyverse)
library(cowplot)
data <- data.frame(
city = c("Beijing", "Shanghai", "Guangzhou"),
population = c(2000, 2500, 1800)
)
data$city <- factor(data$city,levels = c("Beijing", "Shanghai", "Guangzhou"))
#data
#data$city
p = ggplot(data, aes(x = city, y = population, fill=factor(x_f))) +
geom_bar(stat = "identity", fill = c("red","green","yellow"), color = "black", width = 0.5) +
theme_bw() +
scale_x_discrete(expand = c(0.2, 0.2))+
theme_cowplot() +scale_y_continuous(limits = c(0,max(data$population)*1.1),expand = c(0,0))
p
ggsave("123.jpg",dpi=300,width=8,height = 8)
这段代码主要是使用 ggplot2 库在 R 语言中创建一个柱状图,并进行了一些样式和参数的设置,最后将图形保存为 jpg 格式。
以下是对代码的详细解释:
首先,导入了必要的库 tidyverse 和 cowplot。
创建了一个名为 data 的数据框,包含城市(city)和人口(population)两列数据,并将 city 列转换为因子类型,并指定了其水平顺序。
p = ggplot(data, aes(x = city, y = population, fill = factor(x_f))) +
这部分创建了一个 ggplot 对象,指定 x 轴为城市,y 轴为人口,fill 为基于 factor(x_f) 的填充颜色。
geom_bar(stat = "identity", fill = c("red","green","yellow"), color = "black", width = 0.5)
绘制了柱状图,stat = "identity" 表示使用数据中的值作为柱高,填充颜色分别为红、绿、黄,边框颜色为黑色,柱宽为 0.5。
theme_bw()
应用了一个白色背景的主题。
scale_x_discrete(expand = c(0.2, 0.2))
对 x 轴进行了扩展设置。
theme_cowplot()
应用了 cowplot 库的主题。
scale_y_continuous(limits = c(0, max(data$population) * 1.1), expand = c(0, 0))
设置了 y 轴的范围为 0 到数据中人口最大值的 1.1 倍,并且不进行扩展。
最后,使用 ggsave 函数将图形保存为 123.jpg ,分辨率为 300dpi,宽 8 单位,高 8 单位。
例如,如果数据中的人口最大值为 2500,那么 y 轴的范围将是 0 到 2750 。这样的设置可以确保图形在展示数据时,有足够的空间显示最大值的情况。