一幅图解决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语言绘制图例的各种问题的更多相关文章
- R语言绘制相对性关系图
准备 第一步就是安装R语言环境以及RStudio 图绘制准备 首先安装库文件,敲入指令,回车 install.packages('corrplot') 然后安装excel导入的插件,点击右上角impo ...
- R语言绘制花瓣图flower plot
R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...
- R语言绘制QQ图
无论是直方图还是经验分布图,要从比较上鉴别样本是否处近似于某种类型的分布是困难的 QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布 R语言,代码如下: > qqnorm(w);qqline ...
- R语言绘制空间热力图
先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始 首先安装相关包 install_packages("dev ...
- R语言绘制沈阳地铁线路图
##使用leaflet绘制地铁线路图,要求 ##(1)图中绘制地铁线路 library(dplyr) library(leaflet) library(data.table) stations< ...
- R语言绘制茎叶图
与直方图相比,茎叶图更能细致的看出数据分布情况! 代码: > x<-c(25, 45, 50, 54, 55, 61, 64, 68, 72, 75, 75,+ 78, 79, 81, 8 ...
- R语言——绘制半圆形图
好久没发点新的作品了.......也许...... Que sera, seraWhatever will be, will be
- 解决R语言临时文件目录的问题(tempdir、tempfile)
最近在调用SparkR的时候,当用copy_to函数将R中的数据框导入到Spark时,会在默认的tempdir()目录下(这里默认目录即为/tmp)产生巨大的临时文件, 严重影响R脚本的运行,最终一番 ...
- R语言绘制直方图,
直方图: 核密度函数: 练习题目1: 绘制出15位同学体重的直方图和核密度估计图,并与正态分布的概率密度函数作对比 代码如下: > w <- c(75.0, 64.0, 47.4, 66. ...
随机推荐
- PHP fpassthru() 函数
定义和用法 fpassthru() 函数输出文件指针处的所有剩余数据. 该函数将给定的文件指针从当前的位置读取到 EOF,并把结果写到输出缓冲区. 语法 fpassthru(file) 参数 描述 f ...
- [SCOI2014]方伯伯的玉米田 题解(树状数组优化dp)
Description 方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美. 这排玉米一共有N株,它们的高度参差不齐. 方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感 ...
- MAC OpenGL 环境搭建
MAC OpenGL 环境搭建 基础库介绍 先要安装两个库一个是GLEW(OpenGL Extension Wrangler Library),另外一个是GLFW(Graphics Library F ...
- CSS:CSS 字体
ylbtech-CSS:CSS 字体 1.返回顶部 1. CSS 字体 CSS字体属性定义字体,加粗,大小,文字样式. serif和sans-serif字体之间的区别 在计算机屏幕上,sans-se ...
- C++——类
1.类和结构体,只有的默认访问权限的区别 2.类内不能定义和类外类型名相同的类型名.为什么?typedef机制? typedef double money; class Account { priva ...
- leetcode.字符串.696计数二进制子串-java
1. 具体题目 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的.重复出现的子串要计算它们出现的次数. 示例 1 : 输入: ...
- [待解决]报错:JSON parse error: Unexpected character
{"code":"9999","message":"JSON parse error: Unexpected character ...
- 4-Ubuntu-启动/关闭/重启mysql服务
启动: sudo service mysql start 关闭: sudo service mysql stop 重启: sudo service mysql restart
- HTML 自定义元素教程
组件是 Web 开发的方向,现在的热点是 JavaScript 组件,但是 HTML 组件未来可能更有希望. 本文就介绍 HTML 组件的基础知识:自定义元素(custom elements). 文章 ...
- android是32-bit系统还是64-bit系统
转自:http://www.cnblogs.com/pengwang/archive/2013/03/11/2954496.html 电脑CPU分32位和64位,这个我们都知道.用了这么长时间的and ...