前段时间在视频课程学习过直方图案例,有一个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和条形图的对应
1)根据图纸的大小,画出两条互相垂直的射线,作为纵轴和横轴
(2)在横轴上适当分配条形的位置,确定直条的宽度和间隔。
(3)在纵轴上确定单位长度,并标出数量的标记和计量单位。
(4)根据数据的大小,画出长短不同的直条。并标上标题。
(5)若条形太小可适当在条形内画上颜色等区分。
r语言条形图怎么添加图例?
1、把数据拷贝到origin worksheet里面。
2、选中数据,使用“line+symbol”方式绘图。
3、再绘制另外一条线,这时注意是选中第二组数据后,回到graph图形界面,把这组数据图形添加到已有图片上,graph-add plot to layer-line and symbol。
4、进行图标symbol设置,设置为三角形。双击线就会出现plot detail,或者选中线后右键plot details。
5、进行图例显示设置,选中图例/图标,右键properties进入设置,注意格式为“\l(线编号)名称”。
6、录入编辑,其实还可以设置字体什么的等等。