原创 onlybugs

ggplot2语法结构虽说简单,但是也需要学习路线,况且日常使用中我们其实不需要这么复杂的绘图思路。那么,qplot的作用就体现出来了 ----- 快速绘制一些基本图表。ggplot2应该可以说是画图界的王者风范了,但是对于绘制一些简单的基本图表,我们没必要直接使用ggplot2的语法功能,而是可以使用它提供的qplot函数进行画图。qplot,它是quick plot的缩写,是ggplot2内部封装好的一个函数,使用qplot我们就可以快速的画出我们的一些非常基本的图形了,它也是学习ggplot2的第一步,通过对它的使用,我们慢慢就会感受到ggplot2的核心思想。废话不多说,开始今天的内容吧。

01—

使用qplot绘制基本散点图

本文以及后面的数据大部分来自R的基础环境,如果使用到了一些新的数据集,我会告诉大家来自哪个包。

在开始绘图之前,我们先加载画图包,

然后我存了一份我们使用的数据的副本,后面我们的操作都是基于mt这个数据框的

library(ggplot2) mt <- mtcars

# 查看一下mt head(mt) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

mtcars的数据来自1974年美国汽车趋势杂志,包括32辆汽车(1973-74款)的油耗和10个方面的汽车设计和性能,我们初期画图主要是使用它以及另一个内置的钻石的数据集。

接下来,我们用qplot快速的绘制一张散点图吧

qplot(wt,drat,data = mt)

我来解释一下参数,使用data=后面跟我们的绘图数据,然后第一个和第二个参数是我们要画图的列的列名,第一个会默认映射为x上,第二个是默认映射在y轴上了。

可视化变量分布图(可视化系列2散点图和气泡图)(1)

是不是非常简单呢?

02—

使用qplot调整散点的颜色和大小

从目前来看,我们的wt和drat其实是有一定的负相关关系的。不过讨论图的意义不是我们这套教程的重点,我们现在想让点看起来大一些,然后有一点颜色。

#调整点的大小以及给点增加颜色 qplot(wt,drat,data = mt, size = I(5), color = I('red'))

使用size和color参数就可以调整我们的大小和颜色了,可能大家看到了我使用了一个叫做I()的函数。没有关系,目前你只需要记住它是手动设置属性的函数就可以,后面你慢慢就会理解它的含义了。

可视化变量分布图(可视化系列2散点图和气泡图)(2)

下面给出一个自动设置图形属性的案例

(如果你不知道factor是什么,请在历史推文中搜索R语言编程系列进行学习/百度一下也可以)

#不使用I函数 自动设置属性 qplot(wt,drat,data = mt, color = factor(vs), size = factor(gear))

可视化变量分布图(可视化系列2散点图和气泡图)(3)

我们的效果已经非常好了,不是吗?

下面我们再讲两个散点图的图形属性,也是我们比较常用的,一个是透明度,另一个是形状。

03—

使用qplot调整散点的形状和透明度

我们通过了size参数和color参数修改了点的大小和颜色,并且通过了指定映射使得数据的某些属性映射到了统计图中,但是我们很多时候还想让点的透明度和形状进行改变,我们应该如何操作呢?

#更改透明度 qplot(wt,drat,data = mt, color = factor(vs), size = factor(gear), alpha=I(.5))

可视化变量分布图(可视化系列2散点图和气泡图)(4)

我们点的透明度发生了明显的变化,你甚至可以把它改的更小一些。

#修改点的形状 qplot(wt,drat,data = mt, color = factor(vs), size = factor(gear), alpha = I(.8), shape = I(3))

可视化变量分布图(可视化系列2散点图和气泡图)(5)

我们的点变成了一个个的十字形状,是不是很有趣呢,不过这对于数据的展现意义不是很高,对于这一组数据,最好的还是上面的圆点,透明度80%左右,然后映射了颜色和大小的图,效果是最好的。

通过今天的文章,相信你已经透彻的了解了使用qplot来绘制散点图的方法了,目前的绘图函数只要稍微调整一下,应该就足够你绘制大多数的散点图了

下面留下一个简单的练习,

#仍旧使用mtcars数据集 #我们看看disp和hp之间的关系绘制散点图 #接下来让不同的gear数呈现不同的颜色 #不同的am值呈现不同大小 #让所有点透明度为0.6 # 图结果如下

可视化变量分布图(可视化系列2散点图和气泡图)(6)

下次内容将继续分享使用qplot进行绘图的技巧,目前内容定为折线图或者条形图以及常见的绘图属性。

,