返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言作图:坐标轴的设置方式
  • 712
分享到

R语言作图:坐标轴的设置方式

2024-04-02 19:04:59 712人浏览 八月长安
摘要

要绘制一张赏心悦目的统计图表,坐标轴的设置至关重要。在R语言底层作图中,对坐标轴的调整主要通过调整plot函数、axis函数和title函数的一系列参数完成。 plot(x,y,

要绘制一张赏心悦目的统计图表,坐标轴的设置至关重要。在R语言底层作图中,对坐标轴的调整主要通过调整plot函数、axis函数和title函数的一系列参数完成。


plot(x,y, ...)
axis(side,at = NULL, labels = TRUE, tick = TRUE, line = NA,
 pos= NA, outer = FALSE, font = NA, lty = "solid",
 lwd = 1, lwd.ticks = lwd, col = NULL,col.ticks = NULL,
 hadj = NA, padj = NA, ...)
title(main= NULL, sub = NULL, xlab = NULL, ylab = NULL,
 line = NA, outer = FALSE, ...)

一、plot函数的准备

在个性化设置坐标轴之前中,通常需调整plot函数中的ann、bty、xaxt、yaxt、xaxs和yaxs参数:

ann取FALSE时将不会画出标题(包括主、副标题及坐标轴标题);

bty用来设置边框形式,默认值为"o",表示四面边框都画出,其余可选值包括"l"(左下)、"7"(上右)、"c"(上下左)、"u"(左下右)、"]" (上下右)和"n"(无,即不画边框),在很多个性化绘图中,bty设为"n",后期的边框线再使用其他函数(如axis)自行添加;

xaxs和yaxs 用来设置x轴和y轴的范围,默认值取“r”,表示坐标轴比给定作图范围(参数xlim和ylim给出的范围)稍微大一点儿,取”i”时表示坐标轴范围与给定作图范围完全相同,另外还可取”s”、”e”、”d”;

xaxt和yaxt 取”n”时,坐标轴、刻度线以及刻度值将不会画出。


x <- seq(-4, 4, 0.01)
y <- x^2
par(mfrow = c(2, 2), mar = c(4, 4, 1, 1))
plot(x, y) # 未作处理
plot(x, y, xaxs = "i", yaxs ="i") # 绘图边框未留白
plot(x, y, bty = 'l') # 只保留左和下两条边框
plot(x, y, ann = F, bty = "n", xaxt = "n", yaxt ="n") # 边框、坐标轴都去掉

二、axis函数的用法

1、基本操作

side表示要操作的坐标轴,取值1、2、3、4分别代表下、左、上、右;

at表示刻度线及刻度值所在位置;

labels表示刻度值;

las表示坐标刻度值文字方向,las=0表示文字方向与坐标轴平行,1表示始终为水平方向,2表示与坐标轴垂直,3表示终为垂直方向。


x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(1, 2), mar = c(4, 4, 1, 1))
#未设置文字方向
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4)
axis(2,seq(0, 16, 4), seq(0, 16, 4))
#文字方向水平
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)

2、字体字号

cex.axis表示坐标轴刻度值的字号大小,

font.axis表示坐标轴刻度值的字体,font=1表示正体,2表示黑体,3表示斜体,4表示黑斜体。


x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(2, 2), mar = c(4, 4, 1, 1))
#未设置字体字号
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4)
#cex.axis = 2
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, cex.axis = 2)
#font.axis = 2
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, font.axis = 2)
#font.axis = 3
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, font.axis = 3)

3、颜色

col表示图的颜色,用在axis函数中表示坐标轴线和坐标刻度线的颜色;

col.axis表示坐标轴刻度值的颜色;

col.ticks表示坐标轴刻度线的颜色。


x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(2, 2), mar = c(4, 4, 1, 1))
#未设置颜色
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4)
#col = 2
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, col = 2)
#col.axis = 2
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, col.axis = 2)
#col.ticks = 2
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, col.ticks = 2)

4、位置

line表示坐标轴线位置与图像边框的距离,取负数时会画在图像边框以内;

mgp默认值为c(3, 1, 0),三个数字分别代表坐标轴标题、刻度值和轴线与绘图边框的距离;

tcl默认值为-0.5,数值表示刻度线长度,负值表示刻度线朝外,正值朝里;

pos 表示轴线所在的位置;

line.outer取TRUE时,坐标轴将画在画布边缘处;

hadj指将刻度值沿平行坐标轴方向调整的距离;

padj指将刻度值沿垂直坐标轴方向调整的距离。


x <- seq(-4, 4, 0.01)
y <- x^2
par(mfrow= c(2, 2), mar = c(4, 4, 1, 1))
# 未设置刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4)
# 使用line调整刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4, line = 2)
# 使用mgp调整刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4, mgp = c(3, 2, 0)) 
# 使用padj调整刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4, padj = 1)

5、其他

tick取FALSE时,坐标轴线和刻度线不画出;

lty表示线型,用在axis函数中表示坐标轴线型;

lwd表示线的粗细,用在axis函数中表示坐标轴线粗细;

lwd.ticks表示刻度线粗细。

三、title函数的用法

main、sub、xlab和ylab分别表示主标题、副标题、x轴标题和y轴标题;

cex.lab表示坐标轴标题的字号大小;

font.lab表示坐标轴标题的字体;

col.lab表示坐标轴标题的颜色;

其余参数和axis中用法一致。


x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(2, 2), mar = c(4, 4, 1, 1))
#无标题
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4)
axis(2,seq(0, 16, 4), seq(0, 16, 4))
#使用title设置标题
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)
title(xlab= 'x', ylab = 'y')
#使用line调整位置
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)
title(xlab= 'x', ylab = 'y', line = 2)
#调整颜色字体字号
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)
title(xlab= 'x', ylab = 'y', col.lab = 2, font.lab = 4, cex.lab = 2)

四、刻度间隔

plot函数会自动给出比较合理的刻度间隔,本质上是调用了pretty函数。


pretty(x, n = 5, min.n = n %/% 3, shrink.sml = 0.75,
   high.u.bias = 1.5, u5.bias = .5 + 1.5*high.u.bias,
   eps.correct = 0, ...)

x是一个序列,pretty函数会先对x取一个range,然后等分为大约n+1个间隔。

如果在作图时对系统自动给出的间隔不满意,可以调整n的值,用pretty函数自定义合适的间隔。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: R语言作图:坐标轴的设置方式

本文链接: https://lsjlt.com/news/121401.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • R语言作图:坐标轴的设置方式
    要绘制一张赏心悦目的统计图表,坐标轴的设置至关重要。在R语言底层作图中,对坐标轴的调整主要通过调整plot函数、axis函数和title函数的一系列参数完成。 plot(x,y,...
    99+
    2024-04-02
  • 在R语言底层作图中如何设置坐标轴
    这篇文章给大家分享的是有关在R语言底层作图中如何设置坐标轴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。要绘制一张赏心悦目的统计图表,坐标轴的设置至关重要。在R语言底层作图中,对坐标轴的调整主要通过调整plot函...
    99+
    2023-06-08
  • R语言中ggplot2绘制双坐标轴图
    R包ggplot2绘图精美,可以做出很复杂的图形,深受用户喜爱。它的作者hadley并不推荐使用ggplot2绘制双坐标轴图,认为这样会增加读图的难度,但是目前需要双坐标轴图应用的场...
    99+
    2022-11-13
    R语言 ggplot2双坐标轴图 R语言 双坐标轴图
  • R语言ggplot2包之坐标轴详解
    引言 我们还可以对图形中的坐标轴进行处理,包括x、y轴对换、设定坐标轴范围、刻度线修改与去除等等。要想对图形玩得转,坐标轴处理精通不可或缺。 坐标轴对换 我们使用coord_flip...
    99+
    2024-04-02
  • R语言绘制坐标 保存图片的操作
    绘制坐标 有时候我们绘制坐标的时候,需要改变坐标轴的定义,我们以日期为横坐标绘制时间序列为例讲解 先列举简单的例子: rnorm(n, mean = 0, sd = 1) n...
    99+
    2024-04-02
  • R语言-绘制双坐标图直方图与折线的结合方式
    看代码吧~ par(mar = c(5, 5, 3, 4)+0.1) #似乎是设置图片位置 bar<-barplot(gu[1:22,6],xlim=c(0.5,26),y...
    99+
    2024-04-02
  • 使用R语言怎么绘制双坐标图直方图
    这期内容当中小编将会给大家带来有关使用R语言怎么绘制双坐标图直方图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代...
    99+
    2023-06-14
  • 怎么使用r语言plot设置纵坐标范围
    在R语言中,可以使用`ylim`参数来设置纵坐标的范围。下面是一个示例:```R# 创建一个向量x ...
    99+
    2023-09-14
    r语言
  • R语言绘制双坐标图的案例详解
    之前推送了一系列关于使用ggplot2包绘制统计图形的文章,有网友询问是否可以绘制双轴的统计图形。很抱歉,Hradly在设计ggplot2包时就没有将双轴图形功能考虑进来。难道R语言...
    99+
    2023-01-07
    R语言绘制双坐标图 R语言绘制坐标图
  • R语言 实现手动设置xy轴刻度的操作
    在R中,plot函数作图时会自动给出xy轴的刻度标度,如下图: 有时我们需要自己定义xy轴的刻度,这时我们可以用axis中的at和labels参数来更改。 首先,我们先令plot不...
    99+
    2024-04-02
  • R语言柱状图排序和x轴上的标签倾斜操作
    R语言做柱状图大致有两种方法, 一种是基础库里面的 barplot函数, 另一个就是ggplot2包里面的geom_bar 此处用的是字符变量 统计其各频数,然后做出其柱状图。(横轴...
    99+
    2024-04-02
  • R语言ggplot2x轴顺序设置自定义颜色的操作
    先声明一下所用的数据集 第一个图如下 这个图主要在于x轴的顺序设置上,如果按不做任何处理的话>3那个就会在2之前,解决方法是b[,1]<-factor(b[,1],l...
    99+
    2024-04-02
  • matplotlib设置坐标轴标签和间距的实现
    目录xlim、ylimxticks、yticks总结我们今天继续matplotlib作图教程。 在上周的文章当中我们介绍了如何通过xlabel和ylabel设置坐标轴的名称,以及这两...
    99+
    2024-04-02
  • R语言怎么实现手动设置xy轴刻度的操作
    这篇文章主要介绍R语言怎么实现手动设置xy轴刻度的操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在R中,plot函数作图时会自动给出xy轴的刻度标度,如下图:有时我们需要自己定义xy轴的刻度,这时我们可以用axi...
    99+
    2023-06-14
  • R语言ggplot2之图例的设置方法
    这篇文章主要介绍R语言ggplot2之图例的设置方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于...
    99+
    2023-06-14
  • Python 作图实现坐标轴截断(打断)的效果
    主题:利用python画图实现坐标轴截断或打断 关键词:python, plot, matplotlib, break axes 方法一: 首先介绍一种简单快速的方法——调用包 br...
    99+
    2024-04-02
  • matplotlib中怎么设置坐标轴刻度的个数
    matplotlib中怎么设置坐标轴刻度的个数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。第一种方式:通过pyplot进行设置,通过pyplot下的xtick...
    99+
    2023-06-15
  • matplotlib.subplot()画子图并共享y坐标轴的方法
    有时候想要把几张图放在一起plot,比较好对比,subplot和subplots都可以实现,具体对比可以查看参考博文。这里用matplotlib库的subplot来举个栗子。 数据长...
    99+
    2024-04-02
  • R语言ggplot2之图例的设置
    引言 图例的设置包括移除图例、改变图例的位置、改变标签的顺序、改变图例的标题等。 移除图例 有时候你想移除图例,使用 guides()。 library(ggplot2) p &...
    99+
    2024-04-02
  • R语言ggplot2设置图例(legend)的操作大全
    目录基本箱线图(带有图例)移除图例修改图例的内容颠倒图例的顺序隐藏图例标题修改图例中的标签修改data.frame的factor修改标题和标签的显示修改图例的框架设置图例的位置隐藏斜...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作