ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ggplot2-工具箱1

2021-11-27 11:02:49  阅读:183  来源: 互联网

标签:数据 图层 geom 几何 ggplot2 工具箱 绘制 图形


1. 简介

ggplot2的图层结构允许我们以结构化的方式来设计和构建图形。本章旨在概述若干关键实用的几何对象和统计变换,并未逐个详细介绍。

图层有三种用途

  1. 用以展示数据本身。我们绘制原始数据的目的有很多,这取决于我们辨识数据整体结构、局部结构以及离群点等信息的能力。本层几乎在每张图像上都会出现。在数据挖掘的起步阶段,本层通常也是唯一的图层
  2. 用以展示数据的统计摘要。随着数据探索和建模的深入,在数据背景下检验模型的预测效果极为重要。我们可以从数据摘要中进一步了解数据,同时对模型作出评价。展示数据可以帮助我们改善模型,而展示模型可以帮助我们解释数据的微妙之处,这也是我们可能漏掉的信息。本层通常绘制在数据层之上
  3. 用以添加额外的元数据:上下文信息、注解和参考引用。元数据层可以展示背景信息,也可赋予原始数据有显示意义的注解,或提供其它学者意见已供比较参考。无论作为前景还是背景,元数据层都很有用

地图就经常作为空间数据的背景层。在绘制作为背景的元数据时,它不应该影响到主数据的展示,因此它往往被放置在主数据的下层,且在配色上尽可能不要太突出。

其它元数据可以用来强调数据中的重要特征。例如,元数据可以作为拐点或离群点添加解释标签,或使它们突出显示于图中,这种情况下,元数据图层通常是靠后的图层

2. 基本图形类型

以下几何对象是ggplot2的基本组成部分,每种几何对象自身既可独立构建图形,同时也可以组合起来构建更复杂的几何对象

这些几何对象都是二维的,因此x和y两种图形属性不可或缺

geom_area()用于绘制面积图,即在普通线图的基础上,依y轴方向填充了下方面积的图形。对于分组数据,各组将按照依次堆积的方式绘制

geom_bar(stat=“identity”)绘制条形图,我们需要指定stat=“identity”,因为默认的统计变换将自动对”值“进行计数。默认情况下,相同位置的多个条形图会以依次向上堆积的形式绘制

geom_line()绘制折线图,图形属性group决定了哪些观测是连接在一起的。geom_line()将各点从左至右进行连接,geom_path()与之类似,但其中的线条是根据它们在数据中出现的顺序进行连接的,这两类几何对象均接受linetype图形属性,即可将分类变量映射为实线、虚线和点线

geom_point()绘制****散点图,并支持shape图形属性

geom_polygon()绘制多边形,即填充后的路径。各行数据代表着多边形的各个顶点,绘图前把多边形的点数据坐标和原始数据合并往往更方便

geom_rect(),geom_tile()和geom_raster()绘制矩形
geom_rect()由xmin、ymin、xmax和ymax即矩形的各顶点坐标参数定义
geom_tile()与之相同,但定义参数的是矩形的中心坐标和尺寸,即x、y、width和height
geom_raster()则是当所有瓦片大小相同时geom_title()的精简版

几何对象占据了数据本身范围以外的空间,所以坐标轴被自动拉伸了

df <- data.frame(x = c(3, 1, 5), y = c(2, 4, 6), label = c("a", "b", "c"))
p <- ggplot(df, aes(x, y, label = label)) +
	labs(x = NULL, y = NULL)+ # 隐藏坐标轴标签
	theme(plot.title = element_text(size = 12)) # 缩小标题尺寸
p + geom_point() + ggtitle("point")
p + geom_text() + ggtitle("text")
p + geom_bar(stat = "identity") + ggtitle("bar")
p + geom_tile() + ggtitle("raster")
p + geom_line() + ggtitle("line")
p + geom_area() + ggtitle("area")
p + geom_path() + ggtitle("path")
p + geom_polygon() + ggtitle("polygon")

标签:数据,图层,geom,几何,ggplot2,工具箱,绘制,图形
来源: https://blog.csdn.net/Arkardia/article/details/121572565

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有