一幅图解决R语言绘制图例的各种问题

R语言画图的小伙伴们有木有这样的感受,“命令写的很完整,运行没有报错,可图例藏哪去了?”“图画的很美,怎么总是图例不协调?”“啊~~啊,抓狂,图例盖住关键的点了。”“怎么才能让图例指哪站哪?”
“图例太长怎么办”……

吐槽吐到累,不如多掌握几个图例(Legend)的软肋,更好地利用R语言绘图。

legend(x, y = NULL, legend, fill = NULL,col =, bty = "o",xjust = 0,
yjust = 1, x.intersp = 1, y.intersp =1, adj = c(0, 0.5), text.width
= NULL,xpd=TRUE)

Legend 定位

1.
如果图例绘在制图区外,必须提前保留绘制legend的空间。如par(mai=c(2,0.5,0.5,0.5)),图例绘制在下方,所以留2,其余3个方向为0.5。

2. 图例绘在制图区外,必须设置参数xpd=TRUE,否则命令正确也不会出图,因为默认xpd=F。

3. 图例位置由x,y决定。legend
默认坐标为左上角的坐标(因为设定xjust=0,yjust=1),因此可以通过xjust,yjust来调节。xjust=1,yjust=0,即为右下角坐标。

Legend布局

1. 如果图例数量太多,则设置多列(ncol=),如ncol=4,分为4列。

2. 如果图例不加边框,则设置bty=“n”,“o”为加边框。

3. 图标和文字的位置,可以通过x.intersp, y.intersp, adj,text.width等来调控。

x(y).intersp指图标和文字之间的绝对距离adj指图标和文字的相对距离text.

width指图标和文字整体的宽度。

下面用一幅图结合语句来给大家展示R绘图图例的关键参数。

命令1

设置绘图参数mai=c(下,左,上,右)的边界空间。

命令2

绘制柱状图。

命令3

选取绘图区域左下角和右上角的坐标。

命令4

正常绘图,设置xpd=T。xinch()、yinch(),分别表示沿x轴,y轴移动的距离,按绝对距离计算,或按坐标轴的数量级计算。fill=T,即显示图标(默认为矩形填充色)。fill=F的话可以设置pch,选择图标类型。数据分析培训

命令5

设置adj=0.6,adj越接近于0,图标与文字的相对距离越远。

此参数作用于文字,图标不动。

命令6

设置x.intersp=0.6,越接近于0,图标与文字的绝对距离越近。以一侧为标准,图标文字均移动。

命令7

设置text.width=1.4,表示图标和文字整体的宽度。当文字太长时可以调节此参数。

命令8

text.width与x.intersp结合使用,效果最好。

命令9

设置ncol=2,分为两列。

一幅图解决R语言绘制图例的各种问题的更多相关文章

  1. R语言绘制相对性关系图

    准备 第一步就是安装R语言环境以及RStudio 图绘制准备 首先安装库文件,敲入指令,回车 install.packages('corrplot') 然后安装excel导入的插件,点击右上角impo ...

  2. R语言绘制花瓣图flower plot

    R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...

  3. R语言绘制QQ图

    无论是直方图还是经验分布图,要从比较上鉴别样本是否处近似于某种类型的分布是困难的 QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布 R语言,代码如下: > qqnorm(w);qqline ...

  4. R语言绘制空间热力图

    先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始 首先安装相关包 install_packages("dev ...

  5. R语言绘制沈阳地铁线路图

    ##使用leaflet绘制地铁线路图,要求 ##(1)图中绘制地铁线路 library(dplyr) library(leaflet) library(data.table) stations< ...

  6. R语言绘制茎叶图

    与直方图相比,茎叶图更能细致的看出数据分布情况! 代码: > x<-c(25, 45, 50, 54, 55, 61, 64, 68, 72, 75, 75,+ 78, 79, 81, 8 ...

  7. R语言——绘制半圆形图

    好久没发点新的作品了.......也许...... Que sera, seraWhatever will be, will be

  8. 解决R语言临时文件目录的问题(tempdir、tempfile)

    最近在调用SparkR的时候,当用copy_to函数将R中的数据框导入到Spark时,会在默认的tempdir()目录下(这里默认目录即为/tmp)产生巨大的临时文件, 严重影响R脚本的运行,最终一番 ...

  9. R语言绘制直方图,

    直方图: 核密度函数: 练习题目1: 绘制出15位同学体重的直方图和核密度估计图,并与正态分布的概率密度函数作对比 代码如下: > w <- c(75.0, 64.0, 47.4, 66. ...

随机推荐

  1. Django项目:CRM(客户关系管理系统)--84--74PerfectCRM实现CRM权限和权限组限制访问URL

    #models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...

  2. 简单理解Ext.DomQuery操作CSS3选择器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. thinkphp5.1调用七牛云SDK上传文件

    thinkphp5.0 class Upload { public static function image(){ if(empty($_FILES['file']['tmp_name'])){ e ...

  4. CSS:CSS 布局 - 水平 & 垂直对齐

    ylbtech-CSS:CSS 布局 - 水平 & 垂直对齐 1.返回顶部 1. CSS 布局 - 水平 & 垂直对齐 水平 & 垂直居中对齐 元素居中对齐 要水平居中对齐一个 ...

  5. hexo的next主题博客中加入分类页面的js,实现多级目录,并且能够点击展开,隐藏下级目录~(不知道算不算深度优化~~~)

    个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 多级标题 在自己的xxxx.md文件中做如下修 ...

  6. HDU 4109 Instrction Arrangement

    题目链接:https://vjudge.net/problem/HDU-4109 题目大意 有 N 个指令,标号从 0 ~ N - 1,和 M 个指令间的先后关系,每个关系都有一个权值 w,表示后一个 ...

  7. Hadoop 基础知识

    Hadoop 数据是存储在HDFS, Mapreduce 是一种计算框架,负责计算处理. HDFS上的数据存储默认是本地节点数据一份,同一机架不同节点一份,不同机架不同节点一份.默认是存储3份 HDF ...

  8. ES6篇

    ES6新特性你了解了多少呢? 珠峰培训 5月17日 ES6新特性 ES6的特性比较多,在 ES5 发布近 6 年(2009-11 至 2015-6)之后才将其标准化.两个发布版本之间时间跨度很大,所以 ...

  9. Spring MVC源码分析(三):SpringMVC的HandlerMapping和HandlerAdapter的体系结构设计与实现

    概述在我的上一篇文章:Spring源码分析(三):DispatcherServlet的设计与实现中提到,DispatcherServlet在接收到客户端请求时,会遍历DispatcherServlet ...

  10. vue-router 使用二级路由去实现子组件的显示和隐藏

    在需求中有一个这样的情况:一个组件在主组件和另外的组件中引用,且点击主组件和这个组件分别有相应得切换事件. 一开始的时候我是没有划分组件,把它们放到主组件内,这样便于切换,但是主主件内有独立的部分需要 ...