《R语言游戏数据分析与挖掘》一3.1 常用图形参数

3.1 常用图形参数

R是一个功能强大的图形构建平台,可以逐条输入语句构建图形元素(颜色、点、线、文本等),逐渐完善图形,直至得到想要的结果。
更改图形参数有两种方式,一种是直接在绘图函数中设置参数,这种方式只影响当前的绘图函数;另一种是通过par()函数设置,这种方式会影响当前绘图设备上的所有图形。

3.1.1 颜色元素

R语言可以设置绘图参数col,改变图像、坐标轴、文字、点、线等的颜色。例如,对数据集women绘制红色散点图,只需将col参数设置为"red",如图3-1所示。

> plot(women,col="red") # 通过颜色名称设置散点颜色
除了通过将颜色赋值给col参数外,也可以通过颜色下标、十六进制的颜色值和RGB值给col参数赋值。以下代码可以绘制和图3-1相同的效果。
> plot(women,col=554)       # 通过颜色下标设置
> plot(women,col="#FF0000") #通过十六进制的颜色值设置
> mycolor<- rgb(red=255,green=0,blue=0,max=255)
> plot(women,col=mycolor)       # 通过RGB值设置

除了利用col参数控制绘图颜色外,也可以通过其他参数来设置图形的前景色、背景色、标题颜色、坐标轴颜色等。参数描述如表3-1所示。

对图3-1增加主标题、副标题,且将主标题的颜色设置为绿色,副标题的颜色设置为蓝色,X轴坐标的刻度文字设置为灰色,刻度标签设置为黄色。只需执行以下脚本,得到的结果如图3-2所示。

> plot(women,main="身高 VS 体重散点图",sub="数据来源:women数据集",
+       col="red",col.main="green",col.sub="blue",
+       col.axis="grey",col.lab="yellow")

R语言提供了自带的固定种类颜色,主要涉及的函数是colors(),该函数可以生成657种颜色名称,代表657种颜色,具体如下。

> colors()
[1] "white"                "aliceblue"            "antiquewhite"
[4] "antiquewhite1"        "antiquewhite2"        "antiquewhite3"
[7] "antiquewhite4"        "aquamarine"           "aquamarine1"
……
[649] "wheat3"             "wheat4"               "whitesmoke"
[652] "yellow"             "yellow1"              "yellow2"
[655] "yellow3"            "yellow4"              "yellowgreen"

除了固定颜色选择函数外,R本身也提供了特定颜色主题的配色方案。这些配色方案用一系列渐变的颜色表现特定的主题,如rainbow()、heat.colors()、terrain,colors()、topo.colors()、cm.colors()等函数。函数说明如表3-2所示。

执行以下脚本,得到5个由不同主题函数绘制的柱状图,如图3-2所示。

> barplot(rep(1,7),col=rainbow(7),main="barplot(rep(1,7),col=rainbow(7))")
> barplot(rep(1,7),col=heat.colors(7),main="barplot(rep(1,7),col=heat.colors(7))")
> barplot(rep(1,7),col=terrain.colors(7),main="barplot(rep(1,7),col=terrain.colors(7))")
> barplot(rep(1,7),col=topo.colors(7),main="barplot(rep(1,7),col=topo.colors(7))")
> barplot(rep(1,7),col=cm.colors(7),main="barplot(rep(1,7),col=cm.colors(7))")
> par(mfrow=c(1,1))

3.1.2 文字元素

文字元素可以设置的参数一般包括:字体(font)、颜色(col)、大小(cex)等,颜色在上一小节已经介绍过,这里重点讲解如何设置文字的字体和大小。
可以通过font参数来设置字体。font参数的取值是一个整数,一般分别用1、2、3、4、4来表示正常体、粗体、斜体和粗斜体。
执行以下脚本,得到4种常用字体的样式,如图3-4所示。

> plot(0:4,type="n",axes = F,xlab = NA,ylab = NA)
> type <- c("正常字体(默认)","粗体字体","斜体字体","粗斜体字体")
> for(i in 1:4){
+   text(2,5-i,labels = paste0("font=",i,":",type[i]),font = i)
+ }

可以通过cex参数来设置文字的大小。cex(缩放倍数)参数的取值是一个实数,默认为1,表示不缩放。取值小于1时,表示缩小,取值大于1时,表示放大。以下代码中的cex分别取0.5、0.8、1、1.5、2,得到的文字大小样式如图3-5所示。

> plot(0:5,type="n",axes = F,xlab = NA,ylab = NA)
> text(2,5,labels="cex=0.5:放大0.5倍",cex=0.5)
> text(2,4,labels="cex=0.8:放大0.8倍",cex=0.8)
> text(2,3,labels="cex=1(默认):正常大小",cex=1)
> text(2,2,labels="cex=1.5:放大1.5倍",cex=1.5)
> text(2,1,labels="cex=2:放大2倍",cex=2)

3.1.3 点元素

点元素可以设置的参数一般包括:点样式(pch)、颜色(col)、大小(cex)等。前文已经介绍过颜色和大小,接下来学习点样式pch参数。
pch(点样式)参数可取0~25的数字,对于符号21~25,还可以指定边界颜色(col=)和填充色(bg=)。下面代码中的pch取值为0~25,结果如图3-6所示。

> plot(1,col="white",xlim=c(1,7),ylim=c(1,5),
+        main = "点样式 pch=",xlab=NA,ylab=NA)
> for(i in c(0:25)){
+    x<-(i %/% 5)*1+1
+    y<-6-(i%%5)-1
+    if(length(which(c(21:25)==i)>=1)){
+     points(x,y,pch=i,col="blue",bg="yellow",cex=2)
+   } else {
+     points(x,y,pch=i,cex=2)
+   }
+   text(x+0.2,y,labels = i)
+ }

此外,pch参数也可以是""里的单个字符。例如,pch的取值可以为"*,?,a,A,0,.,+,-,|"。执行以下代码,效果如图3-7所示。

> # pch取值可以为"*,?,a,A,0,.,+,-,|"
> points(6,4,pch="",cex=2);text(6+0.2,4,labels="\"\"")
> points(6,3,pch="?",cex=2);text(6+0.2,3,labels="\"?\"")
> points(6,2,pch="a",cex=2);text(6+0.2,2,labels="\"a\"")
> points(6,1,pch="A",cex=2);text(6+0.2,1,labels="\"A\"")
> points(7,5,pch="0",cex=2);text(7+0.2,5,labels="\"0\"")
> points(7,4,pch=".",cex=2);text(7+0.2,4,labels="\".\"")
> points(7,3,pch="+",cex=2);text(7+0.2,3,labels="\"+\"")
> points(7,2,pch="-",cex=2);text(7+0.2,2,labels="\"-\"")
> points(7,1,pch="|",cex=2);text(7+0.2,1,labels="\"|\"")

3.1.4 线元素

线元素可以设置的参数一般包括:线条样式(lty)、颜色(col)、粗细(lwd)等。其中线的粗细lwd参数与文本及点的大小cex相似,lwd(宽度)参数默认为1,表示不缩放。取小于1时,表示缩小,取大于1时,表示放大。
线条样式(lty)主要是指实线、虚线、点线、点划线等的样式。lty参数的不同数值对应不同的线条样式,如表3-3所示。

运行下面的代码,可以查看lty参数取值为0~6时的样式,结果如图3-8所示。

> plot(x=1:10,y=rep(1,10),type="l",lty=0,ylim=c(1,8),xlim=c(-1,10),
+       axes=F,xlab=NA,ylab=NA)
> text(0,1,labels="lty=0")
> for(i in 2:7){
+   lines(x=1:10,y=rep(i,10),lty=i-1,xlab=NA, ylab=NA)
+   text(0,i,labels=paste0("lty=",i-1))
+ }

时间: 2024-05-19 07:40:23

《R语言游戏数据分析与挖掘》一3.1 常用图形参数的相关文章

《R语言游戏数据分析与挖掘》一2.2 数据对象

2.2 数据对象 R拥有许多用于存储数据的对象类型,包括向量.矩阵.数组.数据框和列表.它们在存储数据的类型.创建方式.结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同.多样化的数据对象赋予了R灵活处理数据的能力. R中有许多数据类型用来存储各种各样的数据,包括数值型(numeric).逻辑型(logical).日期型(date).字符型(character).复数型(complex).原味型(二进制形式保存数据raw).此外,也可能是缺省值(NA)和空值(NULL).其中最经常

《R语言游戏数据分析与挖掘》一导读

前 言 为什么要写这本书 随着大数据的概念越来越流行,越来越多的企业开始重视数据,期待从数据中寻找有价值的结论,以指导公司管理层决策,最终创造更大的价值.但是在游戏行业,数据分析的发展相对缓慢,很多游戏公司是在发现人口红利消失后才逐渐重视数据,希望利用数据驱动产品.而在各种数据分析技术中,R语言作为一个可进行交互式数据分析和探索的强大平台,拥有举足轻重的作用.R语言的免费开源使得很多公司用它来处理数据.展示数据.分析数据.完成模型. 使用R语言可以进行游戏数据分析系统的搭建,可以对累积的海量游戏

《R语言游戏数据分析与挖掘》一2.1 开发环境准备和快速入门

2.1 开发环境准备和快速入门 2.1.1 R语言简介 R语言的前身是S语言,S语言是由AT &T Bell实验室的Rick Becker.John Chambers和Allan Wilks开发的一种用来进行数据探索.统计分析.作图的解释型语言.最初S语言的实现版本主要是S-PLUS.S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善.而R语言最初由来自新西兰大学的Ross Ihaka和Robert Gentleman开发(由于他们的名字都以R开头,所以该软

《R语言游戏数据分析与挖掘》一1.2 游戏数据分析的流程

1.2 游戏数据分析的流程 游戏数据分析.数据挖掘的价值一定要落实到具体的业务应用中才可以得到检验和实现,所以需要流程和制度来有效保障最终的业务实践效果.这些流程一方面可以促使各相关方在数据分析业务实践的不同阶段落实各自的角色.分工和价值,维护整个业务流的畅通和效率:另一方面可以有效达成数据分析项目中各环节的阶段性目标. 游戏数据分析整体流程可以参考跨行业的数据挖掘标准流程CRISP-DM方法论,它是一种业界认可的用于指导数据挖掘工作的方法.按照CRISP-DM方法论,一个游戏数据分析的完整流程

《R语言游戏数据分析与挖掘》一1.1 为什么要对游戏进行分析

1.1 为什么要对游戏进行分析 伴随着游戏互联网的快速发展和智能终端的普及,移动游戏进入了全民时代.越来越多的玩家利用碎片化时间进行游戏,使得游戏数据呈现井喷式增长,同时也对数据存储技术.计算能力.数据分析手段提出了更高的要求.海量数据的存储是必须面对的第一个挑战,随着分布式技术的逐渐成熟,越来越多的互联网企业采用分布式的服务器集群+分布式存储的海量存储器进行数据的存储和计算,从而解决数据存储和计算能力不足的问题.如何在海量的.复杂高维的游戏数据中发掘出有价值的知识,将是很多公司下一步亟待解决的

《R语言游戏数据分析与挖掘》一第2章 必备R语言基础

第2章 必备R语言基础 本章将介绍R语言的基础知识,包括三大部分的内容:第一部分是R语言的简介.R及常用编辑器的安装及使用:第二部分是R语言的数据对象的创建数据:第三部分是数据的导入.

《R语言游戏数据分析与挖掘》一1.4 小结

1.4 小结 本章介绍了游戏数据分析的目的和打造数据化运营团队的重要性.一位出色的游戏数据分析师不仅仅要具备统计技能.数据库知识.数据挖掘技能,还需要具有很好的业务理解能力和快速学习能力,能通过自身的专业知识满足不同业务的数据需求,并推动模型落地.

《R语言游戏数据分析与挖掘》一2.4 小结

2.4 小结 本章首先介绍了R.RStudio和Rattle工具的安装和界面,以及R语言的一些基本知识,让读者对R语言有了大概的认识.然后介绍了几种常用数据对象的创建及相关操作.最后介绍了将外部数据源导入R的常用方法,包括导入文本文件.导入Excel文件.利用R对数据库进行管理和简单的R爬虫技术.

《R语言游戏数据分析与挖掘》一第3章 R语言绘图重要技术

第3章 R语言绘图重要技术R语言除了拥有良好的数据处理和分析能力外,对于展现数据也有极其灵活和强大的应用.由于用图形表达分析结果往往更直观和简单,所以对于优秀的分析报告而言,将数据结果以适当的图形方式展示后,其沟通效果和说服力会更佳.本章将介绍如何向一幅简单的图形中添加元素,以得到更有用和更吸引人的图形,以及绘制各种类型图形的函数.