美文网首页
ggplot2绘图学习(1)

ggplot2绘图学习(1)

作者: 路人里的路人 | 来源:发表于2023-03-26 17:30 被阅读0次

    一、安装ggplot2包

    setwd("my/work/path")
    #设置工作目录
    install.packages("ggplot2")
    #安装ggplot2包
    library(ggplot2)
    #加载ggplot2
    

    二、使用ggplot2绘图

    1.绘制柱状图

    基础绘图

    library(ggplot2)
    data <- read.table("test.txt",header = TRUE,sep = ",")        OR
    data <- read_excel("test.xlsx")
    colors <- c("red", "green", "blue", "orange")
    data$color <- colors
    ggplot(data, aes(x = X轴列名, y = Y轴列名, fill = color)) +
      geom_bar(stat = "identity")
    #第一行加载ggplot2包
    #第二、三行分别加载不同类型的数据,第二行加载的是包含列名,以“,”为分隔符类型的数据,第三行加载的是excel表格中的数据
    #第三、四行是创建颜色列,colors()是R的内置函数,它返回 R 中所有可用的颜色的名称。通过将 colors() 的输出分配给 data$color。aes()函数是一个映射函数,它被用于指定数据与图形之间的映射关系,如位置、颜色、形状、大小等。
    

    进阶柱状图

    library(ggplot2)
    data <- read.table("test.txt",header = TRUE,sep = "")
    ggplot(data = data, aes(x = X轴列名, y = Y轴列名, fill = X轴列名)) + 
      geom_bar(stat = "identity") +
      geom_text(aes(label = Y轴列名), vjust = -0.5, size = 3.5) +
      scale_fill_manual(values = c("#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2")) +
      theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), 
            panel.background = element_blank(), axis.line = element_line(colour = "black"))
    

    第一、二行加载分别是加载ggplot2包和数据(数据依然是包含列名的),通过aes函数将数据映射到图层中,并说明x,y轴列名,注意这里的列名是数据中自己设定的列名,fill是指图示名称
    第三行的geom_bar()是柱状图函数,stat = ”identity“是指geom_bar()函数不会对数据进行任何统计计算,直接将数据映射到柱状图中,除了"identity"还有"bin"、"count"、"density"、"boxplot"等。分别代表着
    "bin":默认选项,对原始数据进行统计计算并生成频数直方图,将数据分组为不同的区间(bin),然后绘制每个区间的计数。
    "count":同样会对原始数据进行统计计算,但是不进行分组(bin),而是计算每个分组变量的计数或频率,并将其映射到柱状图的高度。
    "identity":不进行统计计算,直接将原始数据映射到柱状图的高度。这通常用于绘制已经进行过统计计算的数据,例如计算过的频率或百分比等。
    "density":计算原始数据的密度估计,并将其映射到直方图的高度上。
    "boxplot":计算原始数据的五数概括并绘制箱线图。
    第五行中的geom_text()是ggplot2中的一个几何对象函数,用于在图形上添加文本标签,可以通过参数来调整其位置。
    第六行的scale_fill_manual()是ggplot2中的一个函数,用于手动设置图形中填充颜色的映射关系。scale_fill_manual()函数需要指定两个参数:values和labels。其中,values参数是一个颜色向量,用于指定每个分类变量的颜色值。而labels参数则是一个标签向量,用于指定每个分类变量的标签名称。

    相关文章

      网友评论

          本文标题:ggplot2绘图学习(1)

          本文链接:https://www.haomeiwen.com/subject/hmjnrdtx.html