R语言之ggplot2画图篇

1. qplot

quick plot

数据集:diamonds

(1)基本用法

eg

library(ggplot2)
length(diamonds)
set.seed(1410)#设定种子数
dsmall<-diamonds[sample(nrow(diamonds),100),]#随机产生样本数
qplot(carat,price,data=diamonds)#画散点图


qplot(log(carat),log(price),data=diamonds)


color、size、shape

qplot(carat,price,data=dsmall,colour=color)


qplot(carat,price,data=dsmall,shape=cut)


<span style="font-family: Arial, Helvetica, sans-serif;">qplot(carat,price,data=dsmall,alpha=I(1/20))</span>
设置透明度



(2)geom

取值可以为:point、smooth、boxplot、path、line

对于连续型变量:geom可取histogram、freqpoly、density

对于离散型变量:bar

qplot(carat,price,data=dsmall,geom=c("point","smooth"))


qplot(carat,price,data=dsmall,geom=c("point","smooth"),span=0.2)


qplot(carat,price,data=dsmall,geom=c("point","smooth"),span=1)


2.ggplot2

数据(Data)和映射(Mapping)将数据中的变量映射到图形属性,映射控制了二者之间的关系
标度(Scale)标度负责控制映射后图形属性的显示方式,具体形式上看是图例和坐标刻度
几何对象(Geometric)几何对象代表我们在图中实际看到的图形元素,如点、线、多边形等
统计变换(Statistics)对原始数据进行某种计算,如对二元菜点图加上一条回归线
坐标系统(Coordinate)坐标系统控制坐标轴并影响所有图形元素,坐标轴可以进行变换以满足不同的需要
图层(Layer)数据、映射、几何对象、统计变换等构成一个图层,图层可以允许用户一步步的构建图形,方便单独对图层进行修改
分面(Facet)条件绘图,将数据按某种方式分组,然后分别绘图。分布就是控制分组绘图的方式和排列形式

(1)geom_point

mpg
head(mpg)
p<-ggplot(data=mpg,mapping=aes(x=cty,y=hwy))
p+geom_point()
summary(p)
summary(p+geom_point())


#将年份映射到颜色属性
p<-ggplot(mpg,aes(x=cty,y=hwy,colour=factor(year)))
p+geom_point()


(2)增加平滑线

p+geom_point()+stat_smooth()


p<-ggplot(mpg,aes(x=ctymy=hwy))
p+geom_point(aes(colour=factor(year)))+stat_smooth()

(3)两种等价的绘图方式

#方法一
p<-ggplot(mpg,aes(x=cty,y=hwy))
p+geom_point(aes(colour=factor(year)))+stat_smooth()
#方法二
d<-ggplot()+geom_point(data=mpg,aes(x=cty,y=hwy,colour=factor(year)))+stat_smooth(data=mpg,aes(x=cty,y=hwy))#此时除了底层画布外,有两个图层,分别定义了geom和stat

(4)用标度来修改颜色取值

p<-ggplot(mpg,aes(x=cty,y=hwy))
p+geom_point(aes(colour=factor(year)))+stat_smooth()+scale_color_manual(values=c("blue","red"))


(5)将排量映射到散点大小

p+geom_point(aes(colour=factor(year),size=displ))+stat_smooth()+scale_color_manual(values=c("blue2","red4"))

p+geom_point(aes(colour=factor(year),size=displ),alpha=0.5,position="jitter")+stat_smooth()+scale_color_manual(values=c("blue2","red4"))+scale_size_continuous(range=c(4,10))


(6)用坐标控制图形显示的范围

p+geom_point(aes(colour=factor(year),size=displ),alpha=0.5,position="jitter")+stat_smooth()+scale_color_manual(values=c("blue2","red4"))+scale_size_continuous(range=c(4,10))+coord_cartesian(xlim=c(15,25),ylim=c(15,40))


(7)利用facet分别显示不同年份的数据

p+geom_point(aes(colour=class,size=displ),alpha=0.5,position="jitter")+stat_smooth()+scale_size_continuous(range=c(4,10))+facet_wrap(~year,ncol=1)

(8)增加图名并精细修改图例

p<-ggplot(mpg,aes(x=cty,y=hwy))
p+geom_point(aes(colour=class,size=displ),alpha=0.5,position="jitter")+stat_smooth()+scale_size_continuous(range=c(4,10))+facet_wrap(~year,ncol=1)+opts(title='汽车油耗与型号')+labs(x="每加仑高速公路行驶距离",y="每加仑城市公路行驶距离")+guides(size=guide_legend(title="排量"),colour=guide_legend(titile="车型",override.aes=list(size=5)))

(9)直方图

p<-ggplot(mpg,aes(x=hwy))
p+geom_histogram()

直方图的几何对象中内置有默认的统计变换

p+geom_histogram(aes(fill=factor(year),y=..density..),alpha=0.3,colour="black")+stat_density(geom="line",position="identity",size=1.5,aes(colour=factor(year)))+facet_wrap(~year,ncol=1)

(10)条形图

p<-ggplot(mpg,aes(x=class))
p+geom_bar()



class2<-mpg$class
class2<-reorder(class2,class2,length)
mpg$class2<-class2
p<-ggplot(mpg,aes(x=class2))
p+geom_bar(aes(fill=class2))

p<-ggplot(mpg,aes(class2,fill=factor(year)))
p+geom_bar(position="identity",alpha=0.5)


并立方式

p+geom_bar(position="dodge")


叠加方式

p+geom_bar(position="stack")

相对比例

p+geom_bar(position="fill")

分面显示

p+geom_bar(aes(fill=class2))+facet_wrap(~year)

(11)饼图

p<-ggplot(mpg,aes(x=factor(1),fill=factor(class)))+geom_bar(width=1)
p+coord_polar(theta="y")

(12)箱线图

p<-ggplot(mpg,aes(class,hwy,fill=class))
p+geom_boxplot()


p+geom_violin(alpha=0.3,width=0.9)+geom_jitter(shape=21)

3.观察密集散点的方法

增加扰动(jitter)

增加透明度(alpha)
二维直方图(stat_bin2d)

密度图(stat_density2d)

p<-ggplot(diamonds,aes(carat,price))
p+stat_bin2d(bins=60)


p+stat_density2d(aes(fill=..level..),geom="polygon")+coord_cartesian(xlim=c(0,1.5),ylim=c(0,6000))+scale_fill_continuous(high="red2",low="blue4")

4.风向风速玫瑰图

#随机生成100次风向,并洪到16个敬意内
dir<-cut_interval(runif(100,0,360),n=16)
#随机生成100次风速,并划分成4种强度
mag<-cut_interval(rgamma(100,15),4)
sample<-data.frame(dir=dir,mag=mag)
#将风向映射到x轴,频数映射到y轴,风速大小映射到填充色,生成条形图后再转为极坐标形式即可
p<-ggplot(sample,aes(x=dir,y=..count..,fill=mag))
p+geom_bar()+coord_polar()




























本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51145.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言中的高级绘图

1、散点图 attach(mtcars) plot(wt, mpg, main"Basic Scatterplot of MPG vs. Weight", xlab"Car Weight (lbs/1000)", ylab"Miles Per Gallon ", pch19) ablin…

R语言常用的绘图参数

1.点线结构参数 在plot函数中&#xff0c;使用参数type来控制点线输出结构 参数type的取值及定义 参数取值 描述 typep 点 typel线 typeb 点连线 typeo 线穿过点 typeh 悬垂线 types 阶梯线 xc(2,4,6,8,10) xts(x,startc(2010,1)) #将x转换成时序数据&#xff0c…

R语言ggplot2|玩转Manhattan图-你有被要求这么画吗?

Manhattan图算是GWAS分析的标配图了&#xff0c;可参考Bio|manhattan图 进行绘制。 由于Manhattan点太多&#xff0c;后期AI/PS修改的话难度有点大&#xff0c;如果可以“个性化”绘制的话那是极好的&#xff01; 一 载入R包&#xff0c;数据 1&#xff09;载入数据处理的tidyv…

[R语言绘图]plot函数的使用

R语言中最简单的一个绘图函数就是plot了。如果之前用过matlab&#xff0c;用R画图的时候就很可能会尝试plot这个命令能不能使用。plot(a)一般就能得到我们想要的图。但是&#xff0c;如果想进一步设置其他属性&#xff0c;如标题、x轴名称、y轴名称等&#xff0c;还需要对另外的…

R语言绘图之ggplot2

一.基础知识 首先载入tidyverse包 # install.packages("tidyverse") library(tidyverse) 这一行代码加载了tidyverse的核心R包。在几乎所有的数据分析任务中&#xff0c;你都会用到这些R包。这行代码还会告诉你tidyverse中的哪些函数与基础R包&#xff08;或者已加…

R语言(ggplot2绘图)

原文链接&#xff1a;https://wklchris.github.io/R-ggplot2.html ggplot2 的语法与 R 原生的语法并不统一&#xff0c;但是熟悉起来也并不复杂。它主要通过“”连接多个绘图函数&#xff0c;同时允许将绘图结果赋值给其他对象&#xff0c;因此使用起来更加灵活。 ggplot2 最为…

R语言绘图——实用篇 ggplot2绘图

文章目录 R语言绘图——实用篇 ggplot2绘图绘制等值线图相关如何绘制等值线图插值&#xff0c;平滑插值插值&#xff0c;缺失值插值色条(色阶)划分图例的色条(色阶)修改&#xff0c;合理的参数值选用图例的色条(色阶)修改&#xff0c;刻度线修改无效或不显示的问题 地图绘制相关…

R语言ggplot绘图

一、R语言ggplot2绘折线图 读取文件放置的位置&#xff0c;赋予数组名称 library(ggplot2) setwd("E:\\Buffer\\My work\\ggplot_data") diameter <- read.csv("0.031_0.062_ggplot_try.csv", stringsAsFactors FALSE)看看数组里的各种内容 class(d…

R语言基础画图/绘图/作图

R语言基础画图 R语言免费且开源&#xff0c;其强大和自由的画图功能&#xff0c;深受广大学生和可视化工作人员喜爱&#xff0c;这篇文章对如何使用R语言作基本的图形&#xff0c;如直方图&#xff0c;点图&#xff0c;饼状图以及箱线图进行简单介绍。 0 结构 每种图形构成一…

R语言ggplot2绘图

R语言绘图之ggplot2 一.绘图的基本要素1.图形映射2.分面&#xff1a;3.添加平滑曲线 二.绘制条形图设置坐标抽格式 一.绘图的基本要素 首先载入tidyverse包 install.packages("tidyverse") library(tidyverse)​​​​这一行代码加载了tidyverse的核心R包。在几乎所…

R语言---ggplot绘图

散点图 堆积柱形图 library(ggplot2)ggplot(mtcars,aes(mpg,wt))geom_point()簇状柱形图 library(ggplot2) ggplot(mtcars,aes(factor(cyl),fillfactor(am)))geom_bar()直方图 密度图 library(ggplot) ggplot(mtcars,aes(factor(cyl),fillfactor(am)))geom_bar(position&qu…

R语言绘图基础

目录 一、R语言的基本绘图函数 1、高级绘图函数 &#xff08;1&#xff09;plot函数 &#xff08;2&#xff09;其他高级绘图函数 2、低级绘图函数 二、图形参数与图形控制 1、绘图参数 2、图形控制 3、图形颜色 &#xff08;1&#xff09;颜色名称 &#xff08;2&#…

R语言绘图

画图例子 R Graph Cookbook例子 From&#xff1a;http://www.dataguru.cn/article-1766-1.html 今天突然找到一本专门教授R语言绘图的书&#xff0c;R Graph Cookbook&#xff0c;发现还不错。当初喜欢上R语言就是因为它绘图特别好看。下面把这本书的内容&#xff0c;经过我学…

小米手机通用面具安装,root获取

小米手机通用面具安装,root获取 第一篇 环境准备,解锁手机 小米手机,红米手机通用面具安装方法 一 材料准备 电脑一部,没有的朋友可以去网吧小米或红米手机一部,需登录账号7天以上,可以解锁数据线一条,需要能传数据 二 解锁手机 小米有专门的解锁工具,我就不将其下载下来另存…

ADB的安装和使用教程,小米手机连接adb实例演示

首先我们需要下载 adb 的程序包&#xff0c;只要 1M 就好了。也可以通过安装 android sdk 等工具间接安装&#xff0c;可以自行百度。 小蓝枣的资源仓库&#xff0c;提取码: p8h1 adb 的安装 步骤一&#xff1a; 下载后找个位置把它解压一下。 步骤二&#xff1a; 然后把压缩…

android开发:小米手机开发时非要sim卡才能调试怎么办?

问题&#xff1a; 公司新的测试机是小米2s&#xff0c;但是到了安装调试包时&#xff0c;总是安装失败&#xff0c;不管是打开开发者模式&#xff0c;还是启动或者禁止mui优化功能&#xff0c;都一直出现安装不可用&#xff0c;后来往上查了下&#xff0c;是因为小米系统包稳定…

Mobile - 小米手机如何开通应用分身?应用多开?

有时候办公需要使用多个账号&#xff0c;切换多个应用不停地切换很麻烦&#xff0c;那么&#xff0c;怎么让应用多开&#xff0c;同时在一部手机上使用多个相同的应用呢&#xff1f; 工具 / 原料 小米手机 方法 / 步骤 首先打开小米手机的“设置”&#xff0c;向下滑动&#…

小米手机开发者选项打开usb安装需要SIM卡解决办法

前言 最近在做一些安卓的开发&#xff0c;想用之前用过的小米8做测试 但是打开usb调试的usb安装之后却显示需要插入SIM卡 搜索了一下原因&#xff0c;可能是防止黄牛买来装一大堆第三方APP上去然后打包二次销售&#xff0c;影响消费者 解决办法 不用特意去办一张卡&#x…

MIUI 强制跳过 关闭 打开 小米手机 USB安装 USB安全 USB安全设置 应用确认

MIUI 强制跳过 关闭 打开 小米手机 USB安装 USB安全 USB安全设置 应用确认 一、背景和结论 众所周知&#xff0c;小米手机开启 USB 安装功能&#xff0c;需要插入 SIM 卡登陆、需要登小米账号。我这台手机已root&#xff0c;懒得登陆了&#xff0c;就准备通过修改文件的方式来…

小米手机安装 Charles 证书

1、准备工作 首先电脑安装 Charles&#xff08;这个不教&#xff09;&#xff1b; 准备一台小米手机&#xff08;自备&#xff0c;不送&#xff09;&#xff1b; 2、charles 设置代理端口 打开 Charles 的 Proxy > Proxy Settings…&#xff1b;设置代理端口为&#xff1…