R语言Plot函数总结

Python011

R语言Plot函数总结,第1张

par(mfrow = c(n,m),mar = c(0,0,0,0),mai = c(0,0,0,0))

mar,mai参数主要是调节图形的margin的大小,顺序是下、左、上、右

R语言中,设置plot(x,y,'..., bty="o",..)里参数bty,就可以不同的6种边框了。

bty可以取6种字符,分别为“o”、“l”、“7”、“c”、“u”、“]”。这些字符代 表6种边框。

bty=“o” 绘制图形的上边框、下边框、左边框和右边框;注意这是小写的O

bty="l" 绘制图形的左边框和下边框;注意这是小写的L

bty="7"绘制图形的上边框和右边框;

bty="c"绘制图形的上边框、下边框和左边框;

bty="u"绘制图形的左边框、下边框和右边框;

bty="]"绘制图形的上边框、下边框和右边框;

title("Main Title", sub = "sub title",cex.main = 2,   font.main= 4, col.main= "blue",

      cex.sub = 0.75, font.sub = 3, col.sub = "red")

lty 取值为整数值,表示线型

tck 表示横纵坐标的刻度

接着上一篇文章 R语言:表格的线图转化 继续练习,这次是直方图。

前段时间在视频课程学习过直方图案例,有一个citysales表格,表示3种产品,在5个城市的销量。

运用的是“barplot”命令,程序如下:

citysales<-read.csv("citysales.csv")

x<-barplot(as.matrix(citysales[,2:4]),beside=TRUE,

legend.text=citysales$City,args.legend=list(bty="n",horiz=TRUE),

col=brewer.pal(5,"Set1"),border="black",ylim=c(0,100))

自己用来练习的表格,还是上次那个。

因为这次想用案例中的色库,所以安装了“RColorBrewer”包。

然后按照案例中语句,写了一下。颜色参数有一点改动。

barplot(as.matrix(mydata[,2:3]),las=2,beside=TRUE,col=brewer.pal(2,"Set2"))

噫,为什么2006一列,2016一列?看回案例,barplot命令是根据列分组的,所以这里也根据了两个年份分组。

这样的图形不是我想要的,所以用 t命令 把mydata的行列互相置换了一下。

b<-as.matrix(mydata[,2:3]) c<-t(b)

barplot(c,las=2,beside=TRUE,col=brewer.pal(2,"Set2"))

这次出现的图形就对了,但是x轴的图标不对。区域名消失了。

很奇怪的是,如果整个mydata置换,就会把整个matrix都变成字符,barplot就不能只打印其中的两列,必须置换成数值

图形跟上图一样,就是没有x轴的数字了。

如果索性在excel表里手动置换行和列,也是可以的。

barplot(as.matrix(mydata2[,2:16]),las=2,beside=TRUE,col=brewer.pal(2,"Set2"),ylim=c(0,95000))

如果去掉“beside=TRUE”语句,则形成层叠图。再加上增长幅度曲线rate。但是因为增长幅度数值相对于几万的房价比较小,所以乘以5000倍才能看得见。

lines(mydata$rate*5000,col="gold")

这里又出现了一个缺点,涨幅曲线和柱状图差了一个,当然在excel表是完全对应的。还没有找出原因。望各位大神指教。

这次的练习:

1.条形图的转化

2.两种图形的叠加

3.RColorBrew包及相关命令

不明白/没做出来的地方

1.用barplot打印matrix的格式

2.matrix怎么加表头

3.Line和条形图的对应

x, y:用于定位图例,也可用单键词"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" and "center" legend:字符或表达式向量 fill:用特定的颜色进行填充 col:图例中出现的点或线的颜色 border:当fill = 参数存在的情况下,填充色的边框 lty, lwd:图例中线的类型与宽度 pch:点的类型 angle:阴影的角度 density:阴影线的密度 bty:图例框是否画出,o为画出,默认为n不画出 bg:bty != "n"时,图例的背景色 box.lty, box.lwd, box.col bty = "o"时,图例框的类型,box.lty决定是否为虚线,box.lwd决定粗线,box.col :决定颜色 pt.bg:点的背景色 cex:字符大小 pt.cex:点的大小 pt.lwd:点的边缘的线宽 x.intersp:图例中文字离图片的水平距离 y.intersp:图例中文字离图片的垂直距离 adj:图例中字体的相对位置 text.width:图例字体所占的宽度 text.col:图例字体的颜色 text.font:图例字体 merge:logical, if TRUE,合并点与线,但不填充图例框,默认为TRUE trace:logicalif TRUE显示图例信息. plot:logical. If FALSE不画出图例 ncol:图例中分类的列数 horiz:logicalif TRUE,水平放置图例 title:给图例加标题 inset:当图例用关键词设置位置后,inset = 分数,可以设置其相对位置 xpd:xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用。 title.col:标题颜色 title.adj:图例标题的相对位置,0.5为默认,在中间。0最左,1为最右。 seg.len:lty 与lwd的线长,长度单位为字符宽度 参考资料: R语言中Legend 函数的参数详解