R语言绘图大小及图例问题

article/2025/7/15 13:35:36

R语言绘图大小及图例问题

一直对R语言绘图的布局参数不是很熟悉,今天了解了一下

par()函数

par()函数可以设置绘图的全局参数,如lty、pch等。这些设置除非被修改,否则在接下来的所有代码中均成立。

par(no.readonly = T) 显示默认参数值

图形边距:mar/mai参数

  1. 图形边距设定参数可以用mai(英寸边距)和mar(行边距)。
  2. 四个边距的顺序是下、左、上、右 (顺时针),如下图所示
    英寸边距和行边距

坐标轴位置:mgp参数

  1. mgp = c(坐标轴标题位置,刻度标签位置,刻度的位置)
  2. mar/mai设定参数后,令图形区(绘图的方形框)边缘位置即为0,mpg中各项数值都是相对于这个边缘位置向外的行数。

获取位置坐标

  1. par函数的usr参数可以获取绘图区的位置坐标

usr <- par(“usr”)
usr
[1] 0.6400000 10.3600000 -1.4568325 0.8034654

返回值是一个向量:c(x1, x2, y1, y2)

  1. 如果要通过鼠标点击获得图形上的某些点的坐标,可以用 locator() 函数,参数n表示要获得n个点的坐标,需要点击n次鼠标

xy <- locator(n=1)
xy
$x
[1] -1.430878
$y
[1] 0.3818771

设置图例位置

  1. location :参数包括topright、bottomright等,或使用坐标;title:图例标题;legend:标签

legend(‘bottomright’,
legend=c(‘α=0.5,β=0.5’,‘α=1,β=2’,‘α=2,β=2’,‘α=2,β=5’,‘α=1,β=3’,‘α=5,β=1’),
col=c(‘red’,‘green’,‘pink’,‘orange’,‘blue’,‘black’),lwd=1, xpd = T, xjust = 0, yjust = -1)

  1. 将图例设置在绘图区外.
    要legend函数中的参数xpd值设为TRUE,意思为“允许在图形区外绘制”
    方法1: 使用坐标

usr <- par(“usr”)
x <- usr[2]*1.02 #图例左上角的x坐标
y <- usr[4]*0.6 #图例左上角的y坐标
legend(x, y, legend=c(“NF”,“CA”), fill=c(“orange”, “red”), box.col=“white”, xpd=TRUE)

方法2: 使用insect表示沿坐标轴移动的距离,为负则为向外移动

legend(“right”, legend=c(“NF”,“CA”), box.col=“white”, fill=c(“orange”, “red”), inset=-0.28, xpd=TRUE)

添加文字

x、y设置位置,srt设置旋转角度,xpd设置在外部

#以下为横坐标标签设定
x <- (position[1,] + position[2,])/2
y <- par(“usr”)[3]-1
text(x, y, labels=labels, adj=1, srt=45, xpd=TRUE)
box()

页面划分

  1. 均等分割:par(mfrow=c())

  2. 不均等分割
    mat是一个矩阵,数字相同的合并为同一个绘图区

    mat <- matrix(c(1,1,2,3,4,4), nrow=2, byrow=TRUE)
    mat
    [,1] [,2] [,3]
    [1,] 1 1 2
    [2,] 3 4 4
    layout(mat)

    在这里插入图片描述


http://chatgpt.dhexx.cn/article/moG3v2QQ.shtml

相关文章

好程序员web前端分享:如何理解web语义化?

首先&#xff0c;在理解之前&#xff0c;我们需要先了解&#xff0c;什么是语义化。所谓语义化&#xff0c;简单来说&#xff0c;就是能够更清晰&#xff0c;更直观的理解语言所要表达的含义&#xff0c;所谓词必达意就是这个意思。那么在开发过程中的语义化指的是什么呢?就是…

Web语义

根据老师上课内容整理&#xff0c;内容有点乱 目录 语义WEB&#xff08;semantic web&#xff09;语义web针对的问题RDF本体&#xff08;ontology&#xff09; 语义WEB&#xff08;semantic web&#xff09; 是对未来网络设想&#xff0c;用xml来定义 在自然语言处理当中使用…

表现与数据分离、Web语义化

表现与数据分离&#xff1a; 也可以说是界面与数据分离&#xff0c;要体现在代码上&#xff0c;操作数据的代码和操作界面的代码&#xff0c;要分开写。 优势&#xff1a;当页面需求发生改变&#xff0c;只需要改写界面的代码&#xff0c;并且修改的代码不能影响到操作数据访问…

关于Web语义化

对于“web语义化”这个词语我相信只要是从事前端的人都不陌生&#xff0c;当然我对这个词语也是非常熟悉&#xff0c;我相信从事前端工作的同事在投简历时都会在招聘需求里面看到这句话&#xff1a;“对web语义化有深刻的理解”&#xff0c;当然我本人也是从某公司的招聘需求里…

web标准与语义化

一、WEB标准介绍 WEB&#xff08;World Wide Web万维网&#xff09;标准是一系列标准的集合。 目的&#xff1a;实现内容(结构)和表现分离&#xff0c;就是将样式剥离出来放在单独的css文件中。这样做的好处是可以分别处理内容和表现&#xff0c;也方便搜索和内容的再利用。 …

浅谈web语义化

浅谈web语义化 觉得很好的一篇文章&#xff0c;转载过来&#xff0c;原文链接https://www.cnblogs.com/p2227/p/3586725.html web语义化是什么 HTML5标准出来的时候&#xff0c;我曾经诧异为什么要定义这么多header footer nav article标准&#xff0c;DIV不挻好的嘛&#x…

充分了解Web语义化

前言 对于“web语义化”这个词语&#xff0c;我相信只要是从事前端的人都不陌生&#xff0c;从事前端工作在投简历时都会在招聘需求里面看到这句话&#xff1a;“对web语义化有深刻的理解”&#xff0c;当然我本人也是从某公司的招聘需求里看到的这句话&#xff0c;那么到底什…

什么是 web 语义化,有什么好处

什么是 web 语义化,有什么好处 web 语义化是指通过 HTML 标记表示页面包含的信息&#xff0c;包含了 HTML 标签的语义化和 css 命名的语义化。 HTML 标签的语义化是指&#xff1a;通过使用包含语义的标签&#xff08;如 h1-h6&#xff09;恰当地表示文档结构 css 命名的语义…

Web语义化

什么是Web语义化&#xff1f; 如今互联网已经到了web3.0时代了&#xff0c;HTML语言在不断的进化并发挥着越来越重要的地位&#xff1b;而我们制作的网页也从当初的table表格嵌套发展到了divcss&#xff0c;这是进步的标志。然而我们似乎看到了一个不太好的想象&#xff1a;整个…

使用pygame开发一个弹幕射击游戏(一)

本文作为开发过程记录用。 目前游戏画面&#xff1a; 下一个添加的功能&#xff1a;敌机可以进行射击。 弹幕类 from pygame.sprite import Sprite from pygame import transform import mathclass Barrage(Sprite):def __init__(self,raiden_settings,screen,ship,enemy,angle…

手机射击游戏中弹幕的开发

射击游戏中弹幕的开发 http://blog.vckbase.com/knight/archive/2005/03/29/4174.html 作者:牛阿牛 2005-02-28 nhf_2008hotmail.com nhf_2003hotmail.com email:nhf20021166163.com 留言:希望能给各位游戏开发一点的介绍;如有问题,请联系. 游戏射击中, boss可能是最重要…

基于C#弹幕类射击游戏的实现——(十)整合

有朋友说只看代码不爽,所以特上传EXE和一张截图,哈哈。 执行文件下载链接:http://pan.baidu.com/s/1pJ5Hg5X http://download.csdn.net/detail/unskytoo/8366523 剩下部分代码,首先是入口,MainForm public partial class MainForm : Form{public MainForm(){//// The In…

DxLib做弹幕射击游戏(二)——画一台敌机

直接看代码&#xff1a; #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {ChangeWindowMode( TRUE ) ;if( DxLib_Init() -1 ){return -1 ;}int gh ;//图像编号int x, y;//坐标x 200;y 1…

DxLib做弹幕射击游戏(一)

DxLib是神马东西&#xff1f;看名字&#xff0c;似乎是M$的DirectX的官方库&#xff1f;NONONO&#xff0c;这货其实是日本人开发出来的一个库&#xff0c;封装了很多DirectX的函数&#xff0c;使开发更方便。这个库在日本那边很流行&#xff0c;很多同人游戏都是使用这个库开发…

【四圣龙神录】 开源仿东方 弹幕射击游戏教程 官网(译)以及国内参考翻译资料

四圣龙神录 官网地址 http://dixq.net/sr/ 引用doujin 上的帖子的介绍 http://bbs.doujinstg.net/simple/?t1478.html 开源仿东方STG&#xff0d;四圣龙神录&#xff0c;带弹幕制作教程60讲&#xff0c;使用C语言DXLib 非常不错的仿东方的STG&#xff0c;网站上面带制作…

重写弹幕射击游戏的记录

项目背景介绍 上大学之后我一直在学习游戏开发&#xff0c;最开始是直接使用Easyx这个绘图库做Dos下的游戏&#xff0c;当时学习了C和数据结构之后正巧有个数据结构课程设计&#xff0c;就心生了要做这个游戏的想法。我算是那种有想法就想着去做的人&#xff08;有时候也算是缺…

【Unity2D入门教程】简单制作战机弹幕射击游戏⑥最终回扩展其它范围的内容

制作分数和生命的UI&#xff1a; 由于我们前面没有做类似的UI所以这里教大伙一下基本思路&#xff1a; 首先我们创建一个canvas用来创建两个Text用来显示分数和生命的UI 蓝色的是分数黄色的是生命 我们创建一个scoreplay的脚本挂载在text上 using System.Collections; usi…

【Unity2D入门教程】简单制作战机弹幕射击游戏③C#编写 子弹Laser脚本

学习目标&#xff1a; 今天教大伙怎么设置子弹Laser的组件以及编写关于它的脚本 学习组件&#xff1a; 老规矩还是添加一下它的组件用capusle collider2D刚好它还是个圆柱体&#xff0c;别忘了勾选它的isTrigger Rigibody2D的Body Type调成是让它不受重力以及物理碰撞影响&a…

【Unity2D入门教程】简单制作战机弹幕射击游戏⑦番外篇扩展一个大型敌人

布置场景&#xff1a; 我们先按CrtlD复制一个之前创建好的Enemy Prefab&#xff0c;然后更改它的Sprite&#xff0c;我们拖一张素材的图片进来并改变它的Pixel Per Unit让它大其它敌机一倍 由于体型变大了之前的Coliider就不适用了我们要重新删掉之前的再创建一个新的 同样它的…

【Unity2D入门教程】简单制作战机弹幕射击游戏④C#编写 敌人按指定路径以及敌人生成点脚本

前言&#xff1a; 我们前面忘记设置的当敌机和子弹碰到特定的位置&#xff08;指屏幕外的&#xff09;就会自动销毁 挂载的脚本Sherred如下 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Shredder : MonoBehaviour {private…