qplot()函数的详细用法:

library(ggplot2)

# 测试数据集,ggplot2内置的钻石数据
qplot(carat, price, data = diamonds)
dsmall <- diamonds[sample(nrow(diamonds), 100), ] #对diamonds数据集进行抽样

#1. 按color,size,shape的基本分类可视化

#1.1 简单的散点图(利用color分类,不同颜色的钻石由不同颜色的点代表)
qplot(carat, price, data = dsmall, colour = color)

 

#1.2. 简单的散点图(利用shape分类,不同的切割方式由不同形状的点代表)
qplot(carat, price, data = dsmall, shape = cut)

 

#2. 绘制不同类型的图表:geom参数

qplot(x,y,data=data,geom="")中的geom=""用来控制输出的图形类型
I. 两变量图
(1) geom="points",默认参数,绘制散点图(x,y)
(2) geom="smooth" 绘制平滑曲线(基于loess, gam, lm ,rlm,glm)
(3) geom="boxplot" 绘制箱线图 ,当x为属性变量(factor),y为数值变量时

II.单变量图
(4) geom="histogram",直方图
(5) geom="density",核密度估计图
(6) geom="bar",条形图barchart

III.时间序列
(7) geom="line",折线图,可用于时间序列(当x=date)
(8) geom="path",路径图(参见后文)

# 2.1 同时绘制散点图+平滑直线
qplot(carat, price, data = dsmall, geom=c("point","smooth"))

 

#参数调整:method=""等
#(a). method = "loess", 默认平滑算法, 通过span=调整窗宽, span=0(波动) 到 span=1(光滑)
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),
      method = "loess",span=0.2)

 

# (b). method = "gam": GAM 在大数据时比loess高效,需要载入 mgcv 包
library(mgcv)
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),
      method="gam", formula = y ~ s(x))

# (c). method="lm", 线性平滑
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),
     method = "lm")

# method="lm",formula = y ~ ns(x, 3),三次自然样条,需要载入splines包
library(splines)
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),
      method = "lm", formula = y ~ ns(x, 3))

# method = "rlm", robust linear model, 受异常值影响小,需要载入MASS包
library(MASS)
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),
      method = "rlm")

# 2.2:x为属性变量,y为连续变量,绘制boxplot
qplot(color, price/carat, data=diamonds,geom="boxplot")

 

# 2.3:单变量,直方图
qplot(carat, data = diamonds, geom = "histogram")

 

#2.4: 单变量,核密度估计图
qplot(carat, data = diamonds, geom = "density")

 

# 按不同颜色绘制的density图
qplot(carat, data = diamonds, geom = "density",colour=color)

 

# 2.5 条形图(柱状图)
#计数,求count(color)
qplot(color, data = diamonds, geom = "bar")

#加权,对每个求sum(carat),类似于excel里的数据透视图,按不同的color计算carat的总和
qplot(color, data = diamonds, geom = "bar", weight = carat)

 

#2.6. Time-series
qplot(date, unemploy / pop, data = economics, geom = "line")

 

#2.7. Path plot
#如果要查看失业率(unemploy / pop)与平均失业时间(uempmed)之间的关系,一个方法是利用散点图,但是这样做就会导致无法观察到随时间变化的趋势了,path plot利用颜色深浅来代表年份,随着颜色从浅蓝变成深蓝,可以观察到失业率与失业时间的关系的变化趋势。

#具体实现:先自定义函数year(),将字符串格式的时间转化为年
year <- function(x) as.POSIXlt(x)$year + 1900

#画出path plot,颜色按年份由浅到深
qplot(unemploy / pop, uempmed, data = economics,
      geom = "path", colour = year(date))

qplot()函数的详细用法的更多相关文章

  1. Oracle ltrim() rtrim() 函数详细用法

    今天在论坛里看了一篇帖子,讨论ltrim() 函数的详细用法,下面我借几个高手的回答总结一下: 先看几个实例: SQL> select ltrim('109224323','109') from ...

  2. Python3中高阶函数lambda,filter,map,reduce,zip的详细用法

    在Python里有五大高阶函数,他们分别是lambda()匿名函数,filter()筛选函数,map()函数,reduce()函数,zip()函数.下面就让我们来详细的了解一下这五种函数的具体用法吧. ...

  3. MATLAB中conv2的详细用法 (以及【matlab知识补充】conv2、filter2、imfilter函数原理)

    转载: 1.https://blog.csdn.net/jinv5/article/details/52874880 2.https://blog.csdn.net/majinlei121/artic ...

  4. __declspec关键字详细用法

    __declspec关键字详细用法 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI ...

  5. CString.Format的详细用法(转)

    CString.Format的详细用法(转) 在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CS ...

  6. IFRAM的详细用法

    IFRAM的详细用法:   IFRAM的详细用法:  <IFRAME>用于设置文本或图形的浮动图文框或容器. BORDER <IFRAME BORDER="3"& ...

  7. DOM Style样式对象的详细用法

    DOM Style样式对象的详细用法 HTML Style样式比较复杂,相应访问.修改方法也有所差异.参考相关资料,整理如下. 典型Html文件如下,有三种定义方式. <head>     ...

  8. c++ __declspec关键字详细用法

    c++ __declspec关键字详细用法 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与extern等是C和C++语言的 ...

  9. oracle中to_date详细用法示例(oracle日期格式转换)

    这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法.字符串和时间互转.求某天是星期几.两个日期间的天数.月份差等用法 TO_DATE格式(以时间:2007-11-02 ...

随机推荐

  1. 【vijos】1729 Knights(匈牙利)

    https://vijos.org/p/1729 这题好奇葩,为嘛N开到30就会re啊..........n<=26吗.... sad 因为根据棋子的分布,能攻击的一定各在一黑白格上,所以直接二 ...

  2. 【POJ】2942 Knights of the Round Table(双连通分量)

    http://poj.org/problem?id=2942 各种逗.... 翻译白书上有:看了白书和网上的标程,学习了..orz. 双连通分量就是先找出割点,然后用个栈在找出割点前维护子树,最后如果 ...

  3. EasyUI简单CRUD

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    < ...

  4. spotlight on windows 监控

    1. spotlight on windows 安装 下载 https://pan.baidu.com/s/1qYi3lec Spotlight大家可以从其官方网站(http://www.quest. ...

  5. 语法之ADO.NET

    ADO.NET的概念 由于本系列并不是主讲ADO.NET.所以这里笔者只会教上面定义有线连接方式相关的类.不管如何让我们先看一下ADO.NET类相关联的所有基类吧.这样子也方便我们下面的学习. 下面是 ...

  6. Android 中替代 sharedpreferences 工具类的实现

    Android 中替代 sharedpreferences 工具类的实现 背景 想必大家一定用过 sharedpreferences 吧!就我个人而言,特别讨厌每次 put 完数据还要 commit. ...

  7. Dapper的语法应用

    (1)返回某个整型或字符串类型的字段 public string GetSupplierCodeById(int Id) { using( var conn=DbFactory.CreateConne ...

  8. mysql core文件的正确打开姿势

         最近两天自己负责的一个实例频繁出现crash的情况,分析了日志,大致明白了crash的原因,但是没有定位到具体的SQL,也没有找到很好的规避的办法,因此想在mysql出现crash的时候自动 ...

  9. 【BZOJ4596】[Shoi2016]黑暗前的幻想乡 容斥+矩阵树定理

    [BZOJ4596][Shoi2016]黑暗前的幻想乡 Description 幽香上台以后,第一项措施就是要修建幻想乡的公路.幻想乡有 N 个城市,之间原来没有任何路.幽香向选民承诺要减税,所以她打 ...

  10. TCL V7300A-3D升级教程

    鄙人的电视型号: 机器软件版本:V8-0MT-3201-LF1V028_000 3201是机芯 v028是版本号 设备型号:cn_mt32-v7300a-3d TCL电视升级有三个:本地.网络.自动 ...