R语言画图5
当前位置:以往代写 > 其他教程 >R语言画图5
2019-06-14

R语言画图5

R语言画图5

忽闻高中一同学已经拿到了微软的实习offer,即刻以为本身的大学越发失败了。做错了选择,然后未能在大学几年里做到当真专注,导致了我此刻的失败。前几天看到搜狗王小川的一篇报道,他就是那种数学很好,然后糊口一切都很顺的人。我碰着过许多这样的同学,数学都很好,然后进修也很轻松顺利。我大学之前后果固然一直都还不错,但我却不属于他们中的那种人,我需要支付更大的尽力,才气取得和他们一样的后果。人在智商和命运上的不同,有时候真的是让人很无奈的。

照旧继承进修R Graph Cookbook第五章吧。不知道十月份谋事情的时候,R语言对我是否有点儿用处,可是此刻我已经无路可走了,唯有把科学计较和语义网这两块学好一些,但愿在接下来的几个月,做多一点对象,找到一份好的事情。


首先要先容的是画条形图,条形图的用图很广,普通的陈诉内里用的最多的或许就是条形图了。代码和图形如下:






library(RColorBrewer)
citysales < read.csv(“citysales.csv”)

barplot(as.matrix(citysales[,2:4]),beside=TRUE, #beside配置条形图的形状,R语言画图第一篇先容到了
legend.text = citysales$City, #用都市名做标注
args.legend = list(bty = “n”,horiz = TRUE),
col = brewer.pal(5,“Set1”),
border = “white”,ylim = c(0,100),
ylab = “Sales Revenue (1,000’s of USD)”,
main = “Sales Figures”)
box(bty = “l”)#配置边框形状的

这里用到了RColorBrewer包,是一个颜色包,Set1就是个中的一组颜色。


把上面的beside参数去掉可能改为FALSE,就可以绘制出栈形的条形图了,如下:

上面的栈还不太好,我们还可以用左边的Y轴显示百分比,让数据比拟越发得清晰。代码如下:






library(RColorBrewer)
citysales < read.csv(“citysales.csv”)

barplot(as.matrix(citysales[,2:4]),beside=TRUE, #beside配置条形图的形状,R语言画图第一篇先容到了
legend.text = citysales$City, #用都市名做标注
args.legend = list(bty = “n”,horiz = TRUE),
col = brewer.pal(5,“Set1”),
border = “white”,ylim = c(0,100),
ylab = “Sales Revenue (1,000’s of USD)”,
main = “Sales Figures”)
box(bty = “l”)#配置边框形状的

这里用到了RColorBrewer包,是一个颜色包,Set1就是个中的一组颜色。


把上面的beside参数去掉可能改为FALSE,就可以绘制出栈形的条形图了,如下:

上面的栈还不太好,我们还可以用左边的Y轴显示百分比,让数据比拟越发得清晰。代码如下:






png(“a.png”)
library(RColorBrewer)
citysales < read.csv(“citysales.csv”)
barplot(as.matrix(citysales[,2:4]), beside=TRUE,horiz=TRUE,#horiz参数使得图像横过来
legend.text=citysales$City, args.legend=list(bty=“n”),
col=brewer.pal(5,“Set1”),border=“white”,
xlim=c(0,100), xlab=“Sales Revenue (1,000’s of USD)”,
main=“Sales Figures”)

dev.off()

假如我们需要知道每一个条形的精确数量是何等该怎么办,请看下面的代码:






png(“a.png”)
library(RColorBrewer)
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 = “white”,
ylim = c(0,100),ylab = “Sales Revenue (1,000’s of USD)”,
main = “Sales Figures”)

y < as.matrix(citysales[,2:4])
text(x,y+2,labels=as.character(y)) #x生存了barplot工具,y生存了一个矩阵,+2是为了在条形上一点显示,这里x,y便是
## 对x和y轴举办相应的配置
dev.off()


添加误差线也是很重要的事情,下面是添加误差线的代码和图像:






png(“a.png”)
library(RColorBrewer)
citysales < read.csv(“citysales.csv”)
sales<t(as.matrix(citysales[,1]))
colnames(sales)<citysales[,1]

x<barplot(sales,beside=T,legend.text=rownames(sales),
args.legend=list(bty=“n”,horiz=T),
col=brewer.pal(3,“Set2”),border=“white”,ylim=c(0,100),
ylab=“Sales Revenue (1,000’s of USD)”,
main=“Sales Figures”)

arrows(x0=x,
y0=sales*0.95,
x1=x,
y1=sales*1.05, #此四个参数均为配置误差线的起始点
angle=90, #配置误差线的偏向
code=3, #配置误差线 头部与身体长度对称
length=0.04, #误差线的长度
lwd=0.4) #误差线的宽度

dev.off()

下面说的是绘制点图,我也不是很懂,照旧直接把代码放上了吧,其它的不管了:






library(reshape)
citysales < read.csv(“citysales.csv”)

sales < melt(citysales)
## 把数据配置为long form
sales$color[sales[,2]==“ProductA”] < “red”
sales$color[sales[,2]==“ProductB”] < “blue”
sales$color[sales[,2]==“ProductC”] < “violet”

dotchart(sales[,3],labels=sales$City,groups=sales[,2],
col = sales$color,pch = 19,
main = “Sales Figures”,
xlab = “Sales Revenue (1,000’s of USD)”)

下面说说争议较量大的饼图的画法,饼图在科学规模很罕用,因为它容易发生视觉误差,在贸易规模用的倒是许多许多,下面是代码:






library(reshape)
citysales < read.csv(“citysales.csv”)

sales < melt(citysales)
## 把数据配置为long form
sales$color[sales[,2]==“ProductA”] < “red”
sales$color[sales[,2]==“ProductB”] < “blue”
sales$color[sales[,2]==“ProductC”] < “violet”

dotchart(sales[,3],labels=sales$City,groups=sales[,2],
col = sales$color,pch = 19,
main = “Sales Figures”,
xlab = “Sales Revenue (1,000’s of USD)”)

下面说说争议较量大的饼图的画法,饼图在科学规模很罕用,因为它容易发生视觉误差,在贸易规模用的倒是许多许多,下面是代码:






png(“a.png”)
browers < read.table(“browsers.txt”,header=TRUE)

browers < browers[order(browers[,2]),]
pielabels < sprintf(“%s = %3.1f%s”,browers[,1],
100*browers[,2]/sum(browers[,2]),“%”)
pie(browers[,2],
labels=pielabels,
clockwise = TRUE,
radius = 1,
col = brewer.pal(7,“Set1”),
border = “white”,
cex = 0.8,
main = “Percentage share of internet browser usage”)
dev.off()

这样就更好一些了。可是百分比和名称重叠了,也欠好,下面用更好的方法:






png(“a.png”)
browers < read.table(“browsers.txt”,header=TRUE)

browers < browers[order(browers[,2]),]
pielabels < sprintf(“%s = %3.1f%s”,browers[,1],
100*browers[,2]/sum(browers[,2]),“%”)
pie(browers[,2],
labels=NA,
clockwise = TRUE,
radius = 0.7,
col = brewer.pal(7,“Set1”),
border = “white”,
cex = 0.8,
main = “Percentage share of internet browser usage”)
legend(“bottomright”,legend = pielabels,bty = “n”,
fill = brewer.pal(7,“Set1”))
dev.off()

    关键字:

在线提交作业