R: plot 绘图各种参数,以及 legend。。
###################################################
问题:基础绘图plot 18.4.30
plot函数,基础绘图的各个参数?
解决方案:
cars <- c(1, 3, 6, 4, 9);
trucks <- c(2, 5, 4, 5, 12);
suvs <- c(4,4,6,6,16)
g_range <- range(0, cars) #range()产生一个范围,本例即0-16
plot(cars,
main = "",
sub = "", #font.sub="", cex.sub=2, col.sub="",
# font: 设置文字的格式,1是默认值,就是普通的文字,2代表加粗,3代表斜体, 4代表加粗+斜体,
xlab = "",
ylab = "",
# plot(cars, type="o", col="blue", ylim=g_range, ann=FALSE, axes=FALSE)
# ann=F不绘制标题, 后面才有title(main="", col.main="red", font.main=2, cex.main=2, adj="")
#后面才有title(xlab="", ylab="", col.lab=rgb(0,0.5,1), font.lab=1, cex.lab=1.5, adj="")
# axes=F表示不绘制坐标轴,后面才能添加axis设置坐标轴;注意只会影响到是否画出坐标轴线和刻度,不会影响坐标轴标题
#axis(1, at=1:5, lab=c("Mon","Tue","Wed","Thu","Fri"))#1,2,3,4表示坐标轴的下 左 上 右侧。
#axis(2, las=1, at=4*0:g_range[2], col.axis="", font.axis=2, cex.axis="")
# at=4*0:g_range[2]表示刻度范围为(0:g_range[2]),每4个单位显示一个刻度
# las=表示文字的方向,是平行于y轴还是垂直于它
xlim = c(1,5),
ylim = c(min(cars),max(cars)),
type = "o",
#type设置画图的类型,有九种可能的取值,分别代表不同的样式:
# (1)'p'画点;(2)'l'画线5;(3)'b'同时画点和线,但点线不相交;(4)'c'将type= 'b'中的点去掉,只剩下相应的线条部分;
# (5)'o'同时画点和线,且相互重叠,;(6)'h'画铅垂线;(7)'s'画阶梯线,从一点到下一点时,先画水平线,再画垂直线;
# (8)'S'也是画阶梯线,先画垂直线,再画水平线;(9)'n'作一幅空图,没有任何内容,但坐标轴、标题等其它元素都照样显示。
pch = 2,
cex = 1.2, #字体的放大倍数
col = "blue"
#asp= 图形纵横比 y=x;
# log 坐标是否取对数,TRUE或者FALSE;
)
讨论扩展:
title(main="Autos",font.main=4,cex.main=2,col.main="red",)
# font.main用于控制字体,分别为1: 正常,2: 斜体,3: 粗体,4: 粗斜体; 此三项可同作用于main、sub、xlab、ylab
# cex.main 设置字的大小,是原大小的多少倍。
# col.main 设置main的颜色
legend(1, g_range[2], c("cars","trucks"), cex=0.8, col=c("blue","red"), pch=21:22, lty=1:2, bg="grey", title="more", title.col="red")
# 添加内部图例,legend(,1,g_range[2])表示图例左上角的坐标;c("cars","trucks")标签内容,cex=0.8字体的放大倍数,
text(x = c(3, 4), y = c(3, 5), labels = c("text", "text"), col = c("red", "blue"),cex = c( 0.8 , 1 )) # 在两个位置添加(3,3)和(4,5)
text(x = 4, y = 2, labels =expression(hat(beta) == (X^t * X)^{-1} * X^t * y), srt = 45, adj = c(0.5, 0.5), cex = .8)
# 想打印数学表达式或者一些特殊符号,使用expression 函数.参考 plotmath 函数的帮助文档
# srt文字与x轴正向的夹角。adj取值0-1,是对labels内容整体位置的微调,在中心位置的哪个方向。
# pos+offset: 也是对文字的位置进行调整,可选值为1,2,3, 4分别对应下,上,左,右,不能和adj参数同时使用,
mtext("text", side=4, line=0.4, las=1, col="red", cex=1.2, at=1:3, adj="") #为四个坐标轴添加标签文字。
#在边空添加text指定的文字,side:1=bottom, 2=left, 3=top, 4=right;line:添加的文字距离绘图区域的距离,las 文字方向,..
lines(trucks, type="o", pch=22, col="red", lty=2, lwd=2) #添加折线,pch控制点的符号,lty=2表示虚线,
#lty控制连线的线型,可以是整数(1: 实线,2: 虚线,3: 点线,4: 点虚线,5: 长虚线,6: 双虚线),
abline(a=2, b=1, type="l", pch=2, col="red", lty=2, lwd=2) #绘制斜率为1和截距为2的直线
# abline(h = 3.5,v = 3) 画y=3.5直线和x=3直线。
box(bty="L") # 添加外部边框
# bty控制图形边框形状,可用的值为: "o", "l", "7", "c", "u" 和"]" (边框和字符 的外表相像);
arrows(1, 2, 2, 4, code=2, angle= 30, lengths=0.1, lty=1, lwd=2, col="red") #添加箭头,
# 如果code=1,2,3在一端还是两端画箭头; angle控制箭头轴到箭头边的角度,lengths箭头的大小
rect(1,5,2,7,col="red")
# 在坐标为(1,5)到(2,7)为对角线画长方形。
另请参阅:
作图其他相关函数(具体参数使用查看帮助文档):
abline( ): 在原有的图上加直线。
points( ): 在原有的图上加点。
lines(): 在原有的图上加线。
arrows(): 在原有的图上加带箭头的线。
text(): 在原来的图上某坐标位置上加文本标签。
title(): 给原有的图形添加标题。
legend(): 在原有的图形上加图例。
frame() 与 plot.new(): 建立新的图形窗口。
heat.colors( )/ rainbow( )/ gray.colors( ): 作图颜色函数。
legend(x, y = NULL, legend, fill = NULL, col = par("col"),
border = "black", lty, lwd, pch,
angle = 45, density = NULL, bty = "o", bg = par("bg"),
box.lwd = par("lwd"), box.lty = par("lty"), box.col = par("fg"),
pt.bg = NA, cex = 1, pt.cex = cex, pt.lwd = lwd,
xjust = 0, yjust = 1, x.intersp = 1, y.intersp = 1,
adj = c(0, 0.5), text.width = NULL, text.col = par("col"),
text.font = NULL, merge = do.lines && has.pch, trace = FALSE,
plot = TRUE, ncol = 1, horiz = FALSE, title = NULL,
inset = 0, xpd, title.col = text.col, title.adj = 0.5,
seg.len = 2)
x, y X,y用于定位图例,也可用单键词"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" and "center"
legend 字符或表达式向量
col 图例中出现的点或线的颜色
lty, lwd 图例中线的类型与宽度
seg.len lty 与lwd的线长,长度单位为字符宽度
cex 字符大小
x.intersp 图例中文字离图片的水平距离
y.intersp 图例中文字离图片的垂直距离
title 给图例加标题
title.col 标题颜色
title.adj 图例标题的相对位置,0.5为默认,在中间。0最左,1为最右。
text.width 图例字体所占的宽度
text.col 图例字体的颜色
text.font 图例字体
horiz 默认堆叠放置图例c()中的项目,if TRUE,则左右放置
xjust legend相对于x轴的对其方式 0:左对齐,0.5:居中对齐,1:右对齐。how the legend is to be justified relative to the legend x location.
yjust
bg bty != "n"时,整个图例的背景色
bty 图例框是否画出,o为画出,默认为n不画出
box.lty, box.lwd, box.col bty = "o"时,图例框的类型,box.lty决定是否为虚线,box.lwd决定粗线,box.col决定颜色
fill 用特定的颜色填充图例里面 legend 前面的颜色
border 当fill = 参数存在的情况下,填充色的边框
xpd xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用。
trace logical; if TRUE显示图例信息.
plot logical. If FALSE不画出图例
adj 图例中字体的相对位置
pch 点的类型
angle 阴影的角度
density 阴影线的密度
pt.bg 点的背景色
pt.cex 点的大小
pt.lwd 点的边缘的线宽
merge logical, if TRUE,合并点与线,但不填充图例框,默认为TRUE
ncol 图例中分类的列数
inset 当图例用关键词设置位置后,inset = 分数,可以设置其相对位置
R: plot 绘图各种参数,以及 legend。。的更多相关文章
- 从零开始学习R语言(八)——R语言绘图
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/74051739 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125683 ...
- plot绘图
plot绘图 坐标系图(折线图) 折线图用于显示随时间或有序类别的变化趋势 plt.plot(x,y,format_string,**kwargs) y:Y轴数据,列表或数组,必选 x:X轴数据,列表 ...
- 【matlab 基础篇 03】一文带你全面了解 plot 绘图函数的使用(超详细+图文并茂)
快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 文章目录 1 前言 2 plot 2.1 显示正弦波 2.2 修改颜色 2.3 修改点的形状 2.4 修改线的形状 ...
- MATLAB——PLOT绘图
MATLAB——PLOT绘图 格式化绘图: 1.color: b g r c m y k w blue green red cyan magenta yellow black white 2.ty ...
- 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包)
目录 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包) 导论 rugarch 简介 指定一个 \(\text{GARCH}(1, 1)\) 模型 模拟一个 GARCH 过程 拟合 ...
- 在 R 中估计 GARCH 参数存在的问题(续)
目录 在 R 中估计 GARCH 参数存在的问题(续) rugarch 包的使用 简单实验 rugarch 参数估计的行为 极端大样本 结论 在 R 中估计 GARCH 参数存在的问题(续) 本文承接 ...
- 在 R 中估计 GARCH 参数存在的问题
目录 在 R 中估计 GARCH 参数存在的问题 GARCH 模型基础 估计 GARCH 参数 fGarch 参数估计的行为 结论 译后记 在 R 中估计 GARCH 参数存在的问题 本文翻译自< ...
- 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来
最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...
- R语言命令行参数
批量画图任务中,需要在R中传入若干参数,之前对做法是在perl中每一个任务建立一个Rscript,这种方式超级不cool,在群里学习到R的@ARGV调用方式,差不多能够达到批量任务的要求: a ...
随机推荐
- codeforces D. Area of Two Circles' Intersection 计算几何
D. Area of Two Circles' Intersection time limit per test 2 seconds memory limit per test 256 megabyt ...
- Leetcode 969. Pancake Sorting
每次找到当前最大数,转两下把最大数转到最右边.重复这个操作,直到都转完. 时间复杂度O(n**2) class Solution(object): def pancakeSort(self, A): ...
- tensorflow中创建多个计算图(Graph)
tf程序中,系统会自动创建并维护一个默认的计算图,计算图可以理解为神经网络(Neural Network)结构的程序化描述.如果不显式指定所归属的计算图,则所有的tensor和Operation都是在 ...
- 设置Qt应用程序图标及应用程序名 【转载】
一直以来很纠结给qt应用程序添加图标问题,在网上收过一次,但是感觉不够完整,现将自己的实现过程记录下,以便以后查看: 通过网上的例子知道qt助手中有相关说明: Setting the Applicat ...
- angular : copy vs extend
While using AngularJS, we come across some situation in which we need to copy one object to another ...
- COGS 2259 异化多肽 —— 生成函数+多项式求逆
题目:http://cogs.pro:8080/cogs/problem/problem.php?pid=2259 如果构造生成函数是许多个 \( (1+x^{k}+x^{2k}+...) \) 相乘 ...
- VirtualBox为虚拟OS硬盘扩容
1.关闭虚拟OS. 2.进入到在VirtualBox的安装路径,执行命令例子如: VBoxManage.exe modifyhd F:\VM\Debian7.2.vdi --resize 40000 ...
- Azure ARM模式下VNet配置中需要注意的几点事项
虚拟网络的配置是所有公有云中非常重要的环节.把虚拟网络配置好,对整个系统的管理.维护,以及安全性都非常重要. 本文将介绍Azure在ARM模式下VNet配置中需要特别注意的几点. 一 Azure的VN ...
- vijos1098:合唱队形
描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…, ...
- jdk中那些常见的类不能被继承的
对于java中的类,如果是使用final修饰的话,那么这个类就不能够被继承,因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户 继承时操作有误,很可能引入很多问题.为了防止用户对基 ...