ggplot2高效实用指南

author author     2023-05-01     574

关键词:

参考技术A

文章较长,点击直达我的 博客 ,浏览效果更好。
本文内容基本是来源于 STHDA ,这是一份十分详细的 ggplot2 使用指南,因此我将其翻译成中文,一是有助于我自己学习理解,另外其他R语言爱好者或者可视化爱好者可以用来学习。翻译过程肯定不能十全十美,各位读者有建议或改进的话,十分欢迎发 Email ( tyan@zju.edu.cn )给我。

ggplot2 是由 Hadley Wickham 创建的一个十分强大的可视化R包。按照 ggplot2 的绘图理念,Plot(图)= data(数据集)+ Aesthetics(美学映射)+ Geometry(几何对象):

ggplot2 中有两个主要绘图函数:qplot()以及ggplot()。

ggplot2 绘制出来的ggplot图可以作为一个变量,然后由print()显示出来。

根据数据集, ggplot2 提供不同的方法绘制图形,主要是为下面几类数据类型提供绘图方法:

安装 ggplot2 提供三种方式:

加载

本文将使用数据集 mtcars

qplot()类似于R基本绘图函数plot(),可以快速绘制常见的几种图形:散点图、箱线图、小提琴图、直方图以及密度曲线图。其绘图格式为:

其中:

也可以添加平滑曲线

还有其他参数可以修改,比如点的形状、大小、颜色等

箱线图

小提琴图

点图

直方图

密度图

上文中的qplot()绘制散点图:

在ggplot()中完全可以如下实现:

改变点形状、大小、颜色等属性

绘图过程中常常要用到转换(transformation),这时添加图层的另一个方法是用stat_*()函数。
下例中的geom_density()与stat_density()是等价的

等价于

使用数据集wdata,先计算出不同性别的体重平均值

先绘制一个图层a,后面逐步添加图层

可能添加的图层有:

改变颜色

可以通过修改不同属性如透明度、填充颜色、大小、线型等自定义图形:

使用以下函数:

根据sex修改颜色,将sex映射给line颜色

修改填充颜色以及透明度

添加均值线以及手动修改颜色

将sex映射给颜色

手动修改颜色

y轴显示为密度

修改颜色以及线型

将sex映射给线颜色

修改填充颜色

使用数据集mtcars, 先创建一个ggplot图层

可能添加的图层有:

将变量cyl映射给点的颜色和形状

自定义颜色

可以添加回归曲线

散点图+回归线

使用loess方法

将变量映射给颜色和形状

使用数据集 faithful

实际上 geom_jitter() 是 geom_point(position="jitter") 的简称,下面使用数据集 mpg

增加抖动防止重叠

其中两个参数:

参数label用来指定注释标签

使用数据集 diamonds

创建ggplot图层,后面再逐步添加图层

可添加的图层有:

geom_bin2d() 将点的数量用矩形封装起来,通过颜色深浅来反映点密度

设置bin的数量

geom_hex()依赖于另一个R包 hexbin ,所以没安装的先安装:

修改bin的数目

主要是如何通过线来连接两个变量,使用数据集 economics

先创建一个ggplot图层,后面逐步添加图层

可添加的图层有:

使用数据集 ToothGrowth ,其中的变量len(Tooth length)是连续变量,dose是离散变量。

创建图层

可添加的图层有:

添加有缺口的箱线图

按dose分组映射给颜色

将dose映射给填充颜色

按supp进行分类并映射给填充颜色

添加中值点

与箱线图结合

将dose映射给颜色进行分组

添加中值点

flink流式聚合性能调优指南

...言。FlinkTableAPI和SQL使用户能够以更少的时间和精力定义高效的流分析应用程序。此外,FlinkTableAPI和SQL是高效优化过的,它集成了许多查询优化和算子优化。但并不是所有的优化都是默认开启的,因此对于某些工作负载,可以通... 查看详情

flinkflinkcheckpoint问题排查实用指南

1.概述转载:FlinkCheckpoint问题排查实用指南https://www.cnblogs.com/zhaowei121/p/11535330.html【Flink精选】如何排查Checkpoint异常问题?FlinkCheckpoint问题排查实用指南 查看详情

django企业开发实战高效pythonweb框架指南

高清PDF,带书签Django企业开发实战高效PythonWeb框架指南Django企业开发实战高效PythonWeb框架指南Django企业开发实战高效PythonWeb框架指南gACkM793118粘贴链接到地址栏访问:https://fgk.pw/i/gACkM793118 查看详情

javascriptyui配置实用程序指南(代码片段)

查看详情

shgreg的伟大指南:包,库,实用程序和工具(代码片段)

查看详情

msil实用指南-生成属性(代码片段)

本篇讲解怎么生成属性,包括get和set方法。第一步,生成一个字段生成字段用TypeBuilder.DefineField方法。实例代码:FieldBuildercustomerNameBldr=typeBuilder.DefineField("_CustomerName",typeof(string),FieldAttributes.Private); 第二步,创建一个Property 查看详情

python教程分享:“高效实用”的python工具库

...用是少不了的,本期Python教程就为大家分享的是““高效实用”的Python工具库”,希望能够帮助到大家。Python教程分享:“高效实用”的Python工具库:1、RequestsRequests建立在世界上下载量大的Python库urllib3上,... 查看详情

msil实用指南-数据类型转换

一、类的强制转换1.转换成某个类用Castclass指令。实例代码:ilGenerator.Emit(OpCodes.Castclass,typeof(ClassA));2.转换成某个值类型用Unbox_Any指令。实例代码:ilGenerator.Emit(OpCodes.Unbox_Any,typeof(DateTime));ilGenerator.Emit(OpCodes.Unbox_Any 查看详情

oracledba高效入职指南的内容提要

参考技术A《Oracle DBA高效入职指南》是一本特别注重实战的Oracle数据库管理书籍,《Oracle DBA高效入职指南》一共有316个日常管理Oracle数据库的例子。《Oracle DBA高效入职指南》使用浅显易懂的语言,通过讲故事模拟商业数据... 查看详情

msil实用指南-类相关生成(代码片段)

一、创建class用MethodBuilder的DefineType方法,可以指定父类,得到一个TypeBuilder对象。二、实现继承接口用TypeBuilder的AddInterfaceImplementation方法。三、显示方法重写用TypeBuilder的DefineMethodOverride方法。完整代码如下: usingSystem;usingSyst... 查看详情

sublimetext3高效实用快捷键

2017-11-2716:18:48SublimeText3高效实用快捷键SublimeText3软件及注册码官网下载链接在这里,有时候会很神奇的上不去,可能是因为被Q了,可能就是那个网站的服务器很不好使。注册码如下,这是ST3143版本的,从这里拿到的,感谢,可... 查看详情

binder实用指南-实战篇(代码片段)

本章的内容主要说明如何在JavaFramework层和Native层自定义Client-Server组件,并且使用Binder进行通信。一、NativeBinder源码目录结构:alps/frameworks/native/cmds/NativeBinderDemo/ 123456 |-NativeBinderDemo|---ClientDemo.cpp:客户端程序|---Serve 查看详情

msil实用指南-方法的调用(代码片段)

方法调用指令主要有Call和Callvirt。调用static或sealed修饰的方法,用Call指令。调用virtual或abstract修饰的方法,用Callvirt指令。代码实例:ilGenerator.Emit(OpCodes.Call,typeof(Console).GetMethod("WriteLine",newType[]typeof(int)));  查看详情

facebook内部高效工作指南

文章来源:TopDigitalhttp://news.ittime.com.cn/usershow/main?userid=2826【IT时代网、IT时代周刊编者按】每个人工作中都会遇到力不从心的时候,如果长此以往又没有找到合适的解决办法,久而久之就会对工作产生厌烦情绪形成恶性循环。长... 查看详情

充电站|高效解决问题指南

...如何处理,今天,我们给大家带来了福音——《高效解决问题指南》,希望大家能看完这篇文章后,能够初步掌握高效且快速解决问题的方法。在开始之前࿰ 查看详情

《django企业开发实战高效pythonweb框架指南》胡阳

链接:https://pan.baidu.com/s/1NmN_IT5RvevCMt9bZCW1-g提取码:2ki9 查看详情

css变量实用指南及注意事项

近年来,一些动态特性已经开始成为CSS语言本身的一部分。CSS变量–官方的术语为“自定义属性”–已经已经加入规范并且具有很好的浏览器支持,而CSSmixins目前正在开发中。在本文中,你将了解如何开始将CSS变量集成到CSS开发... 查看详情

css变量实用指南及注意事项

近年来,一些动态特性已经开始成为CSS语言本身的一部分。CSS变量–官方的术语为“自定义属性”–已经已经加入规范并且具有很好的浏览器支持,而CSSmixins目前正在开发中。在本文中,你将了解如何开始将CSS变量集成到CSS开发... 查看详情