楼主: mklyzl
6354 5

[学习分享] R语言画图与MATLAB画图PK [推广有奖]

  • 4关注
  • 1粉丝

讲师

32%

还不是VIP/贵宾

-

威望
0
论坛币
732 个
通用积分
0.0032
学术水平
16 点
热心指数
24 点
信用等级
14 点
经验
57720 点
帖子
352
精华
0
在线时间
595 小时
注册时间
2010-10-13
最后登录
2023-3-11

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用matlab与r语言画的两幅图,个人感觉:r语言画图可以设置的项目比matlab多一些,更灵活一些(例如可以分别设置x,y轴的tick的长度),但是matlab画出的图以后可以进行编辑,另外matlab画图的参数比R语言也好理解一些.下面是画图的代码.
  1. rm(list=ls())
  2. graphics.off()
  3. setwd("e:/")
  4. yi <- read.table("yi.txt")
  5. a <- yi
  6. b<-c("北京","天津","石家庄","唐山","秦皇岛","太原","呼和浩特","包头"
  7. ,"沈阳","大连","丹东","锦州","长春","吉林","哈尔滨"
  8. ,"牡丹江","上海","南京","无锡","徐州","扬州","杭州"
  9. ,"宁波","温州","金华","合肥","蚌埠","安庆","福州"
  10. ,"厦门","泉州","南昌","九江","赣州","济南","青岛"
  11. ,"烟台","济宁","郑州","洛阳","平顶山","武汉","宜昌"
  12. ,"襄阳","长沙","岳阳","常德","广州","韶关","深圳"
  13. ,"湛江","惠州","南宁","桂林","北海","海口","三亚"
  14. ,"重庆","成都","泸州","南充","贵阳","遵义","昆明"
  15. ,"大理","西安","兰州","西宁","银川","乌鲁木齐")
  16. numofmonth<-dim(a)[1]
  17. for (ii in 1:1){
  18.         windows()
  19.         jpeg(filename = paste(b[ii],".jpg",sep=""),
  20.                      width = 3200, height = 2400, units = "px", pointsize = 12,
  21.                      quality = 75,res = 300, family = "", restoreConsole = TRUE,
  22.                      type = c("windows", "cairo"))
  23.         par(mar=c(4,4,2,0.5)+0.1,xpd=TRUE)
  24.         plot(1:numofmonth,a[,ii],type = "o",col = rgb(runif(1,0,1),runif(1,0,1),runif(1,0,1)), lwd = 1,pch=16,cex.lab=1,
  25.                      main = b[ii],xlab="时间",ylab="相对房价",xlim=c(2,numofmonth-1),xaxt="n",yaxt="n",
  26.                 cex.main=1,cex=1.2,cex.axis=1,cex.lab=1,bg="yellow",frame=TRUE,fg="black",font.lab=2,font=2)
  27.         axis(1,at=seq(3,numofmonth,by=6),labels=c("11/03","11/09","12/03","12/09","13/03","13/09","14/03","14/09","15/03"),
  28.                 tick=TRUE,col.axis="black",col = "black", lwd=1,lty=1,tck=-0.01,font=2,
  29.                 padj=-0.9,hadj=0.5,mgp=c(1,1,0) )
  30.         axis(2,col.axis="black",col = "black", lwd=1,las=2,tck=-0.01,font=2,
  31.                 xaxs="i",padj=0.5,hadj=0.8,mgp=c(1,1,0) )
  32.         n<-30
  33.         bl<-1/3
  34.         get1<-par()
  35.         qujian<-0.99*(get1$usr[4]-get1$usr[3])
  36.         len0<-qujian/(n+n*bl-bl)
  37.         len1<-len0*bl
  38.         cc<-seq(3,numofmonth,by=3)
  39.         for (jj in cc){
  40.                 for (kk in 1:n){
  41.                         lines(jj*rep(1,2),c(get1$usr[3]+(len0+len1)*(kk-1)+1/198*qujian,get1$usr[3]+(len0+len1)*(kk-1)+len0)+1/198*qujian,col=rgb(250/255,128/255,114/255))
  42.                 }
  43.         }
  44.         dev.off()
  45. }
复制代码


matlab:
  1. clear all
  2. close all
  3. load yi.txt
  4. a=yi;
  5. b={'北京'        '天津'        '石家庄'        '唐山'        '秦皇岛'        '太原'        '呼和浩特'        '包头'...
  6.     '沈阳'        '大连'        '丹东'        '锦州'        '长春'        '吉林'        '哈尔滨'...
  7.     '牡丹江'        '上海'        '南京'        '无锡'        '徐州'        '扬州'        '杭州'...
  8.     '宁波'        '温州'        '金华'        '合肥'        '蚌埠'        '安庆'        '福州'...
  9.     '厦门'        '泉州'        '南昌'        '九江'        '赣州'        '济南'        '青岛'...
  10.     '烟台'        '济宁'        '郑州'        '洛阳'        '平顶山'        '武汉'        '宜昌'...
  11.     '襄阳'        '长沙'        '岳阳'        '常德'        '广州'        '韶关'        '深圳'...
  12.     '湛江'        '惠州'        '南宁'        '桂林'        '北海'        '海口'        '三亚'...
  13.     '重庆'        '成都'        '泸州'        '南充'        '贵阳'        '遵义'        '昆明'...
  14.     '大理'        '西安'        '兰州'        '西宁'        '银川'        '乌鲁木齐'};
  15. numofmonth=size(a,1);
  16. for ii=1:1
  17.     figure
  18.     set(gcf,'visible','on')
  19.     set(gcf,'color',[0.96 0.96 0.96],'position',[300 100 750 500])
  20.     ys=rand(1,3);
  21.     plot(a(:,ii),'-r.','markersize',15,'markerfacecolor',ys,...
  22.         'markeredgecolor',ys,'color',ys,'linewidth',1)
  23.     hold on;
  24.     set(gca,'color',[0.96,0.96,0.96],'position',[0.08,0.08,0.9,0.86],'fontweight','bold')
  25.     xlabel('时间','fontweight','bold')
  26.     ylabel('相对房价','fontweight','bold')
  27.     title(b{ii},'fontweight','bold')
  28.     set(gca,'xtick',3:6:numofmonth,'xticklabel',{'11/03','11/09','12/03','12/09','13/03','13/09', '14/03','14/09','15/03'},'tickdir','in')
  29.     ylim=get(gca,'ylim');
  30.     n=30;
  31.     bl=1/3;
  32.     qujian=0.99*diff(ylim);
  33.     len0=qujian/(n+n*bl-bl);
  34.     len1=len0*bl;
  35.     for jj=3:3:numofmonth
  36.         for kk=1:n
  37.         plot(jj*ones(2,1),[ylim(1)+(len0+len1)*(kk-1)+1/198*qujian,ylim(1)+(len0+len1)*(kk-1)+len0+1/198*qujian], '-','linewidth',0.8,'color',[250 128 114]/255);
  38.         end
  39.     end
  40.     xlim([0 numofmonth+1])
  41.     set(gcf,'InvertHardcopy','off');
  42.     set(gcf,'PaperPositionMode','auto')
  43.     print(gcf,b{ii},'-djpeg','-r300')
  44. end
复制代码

数据文件在附件中.欢迎各位坛友讨论.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:matlab画图 MATLAB atlab matla Atl matlab 项目

北京r.jpg (299.01 KB)

R语言

R语言

北京_matlab.jpg (641.88 KB)

Matlab

Matlab

yi.txt

21.24 KB

画图所需的数据

沙发
zhuafeng2008 发表于 2015-7-20 18:26:01 |只看作者 |坛友微信交流群

使用道具

藤椅
残阳_等待 发表于 2015-7-20 21:15:33 |只看作者 |坛友微信交流群
R确实要灵活一些,不过我不是很熟练这个。有机会跟楼主学习哈!

使用道具

板凳
lxy444 学生认证  发表于 2015-7-20 22:07:15 |只看作者 |坛友微信交流群
来学习一下

使用道具

报纸
532884770 发表于 2015-7-21 11:58:29 |只看作者 |坛友微信交流群
学习学习学习学习

使用道具

地板
mklyzl 发表于 2015-7-21 17:12:08 |只看作者 |坛友微信交流群
R语言的参数不太好理解,label与axis之间的距离有点大,怎么调参数都不管用,网上说是调mgp的第一个参数,但无论怎么调就是不管用.

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-21 10:21