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

简介: 本节书摘来华章计算机《R语言游戏数据分析与挖掘》一书中的第3章 ,第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所示。
image

对图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")

image

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所示。
image

执行以下脚本,得到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))

image

3.1.2 文字元素

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

> 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所示。
image

> 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)
+ }

image

此外,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="\"|\"")

image

3.1.4 线元素

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

运行下面的代码,可以查看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))
+ }

image

相关文章
|
3月前
|
数据挖掘 PyTorch TensorFlow
|
4月前
|
数据可视化 数据挖掘 图形学
R语言基础可视化:使用ggplot2构建精美图形的探索
【8月更文挑战第29天】 `ggplot2`是R语言中一个非常强大的图形构建工具,它基于图形语法提供了一种灵活且直观的方式来创建各种统计图形。通过掌握`ggplot2`的基本用法和美化技巧,你可以轻松地将复杂的数据转化为直观易懂的图形,从而更好地理解和展示你的数据分析结果。希望本文能够为你探索`ggplot2`的世界提供一些帮助和启发。
|
4月前
|
数据可视化
R语言自定义图形:ggplot2中的主题与标签设置
【8月更文挑战第30天】`ggplot2`作为R语言中功能强大的绘图包,其自定义能力让数据可视化变得更加灵活和多样。通过合理使用`theme()`函数和`labs()`函数,以及`geom_text()`和`geom_label()`等几何对象,我们可以轻松创建出既美观又富有表达力的图形。希望本文的介绍能够帮助你更好地掌握`ggplot2`中的主题与标签设置技巧。
|
4月前
|
数据可视化
R语言多图合成:优雅地在一个画布上展示多个图形
【8月更文挑战第30天】R语言提供了多种方法来实现多图合成,从基础的`par()`函数到高级的`gridExtra`、`ggplot2`和`cowplot`包,每种方法都有其独特的优势和应用场景。通过掌握这些技术,你可以根据实际需求灵活地组合图形,从而更高效地展示和解读数据。希望本文能为你提供一些有益的参考和启示。
|
2月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
61 2
|
2月前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
55 2
|
2月前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
48 1
|
4月前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
|
3月前
|
数据采集 算法 搜索推荐
R语言营销数据分析:使用R进行客户分群的实践探索
【9月更文挑战第1天】R语言以其强大的数据处理和统计分析能力,在金融数据分析、营销数据分析等多个领域发挥着重要作用。通过R语言进行客户分群,企业可以更好地理解客户需求,制定精准的营销策略,提升市场竞争力和客户满意度。未来,随着大数据和人工智能技术的不断发展,R语言在营销数据分析中的应用将更加广泛和深入。
|
4月前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
114 13