楼主: gutianwen2008
6388 10

[问答] R 数据分析 循环语句输出图片小问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

71%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
262 点
帖子
6
精华
0
在线时间
27 小时
注册时间
2014-12-9
最后登录
2019-6-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近在弄一些数据分析,但是for循环出图的时候,发现图片全部白色。求解,谢谢!代码如下
  1. for (i in 2000:2014){
  2.   data2<-data_jingrong[data_jingrong[,2]==i,]
  3.   data2[,5]<-as.numeric(data2[,5])
  4.   file=paste("金融行业年回报率_",as.character(i),".png",sep="")
  5.   png(file=file, bg="transparent")
  6.   qplot(data2[,5]*100, data = data2 , geom ="histogram",xlab=paste("金融行业年回报率_",as.character(i),"(%)"))
  7.   dev.off()
  8. }
复制代码



二维码

扫码加我 拉你入群

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

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

关键词:循环语句 数据分析 小问题 for循环 Data 图片

回帖推荐

cheetahfly 发表于9楼  查看完整内容

续接我上面的帖子,qplot()函数在循环中出现问题的原因应该是:在交互式环境下,qplot函数的结果被默认print出来,因此图像展现在我们眼前;但是在循环中,函数的结果并没有被默认print出来,因此看不到东西,所以要额外用print()函数来将其显示出来。
感觉好难
0532qdfpw.jimdo.com0531jnfpw.jimdo.com 0512szfpw.jimdo.com 025njfpw.jimdo.com0571hzfpw.jimdo.com 0574nbfpw.jimdo.com  0551hffpw.jimdo.com  0755szfpw.jimdo.com  020gzfpw.jimdo.com  0591fzfpw.jimdo.com  0592xmfpw.jimdo.com
O771nnfpw.jimdo.com  0898hkfpw.jimdo.com  0371zzfpw.jimdo.com  027whfpw.jimdo.com  0574nbfp.jimdo.com  whfp5188.jimdo.com  0574nbfpw.jimdo.com  0731csfpw.jimdo.com  0791ncfpw.jimdo.com  024syfpw.jimdo.com
0411dlfpw.jimdo.com  0451hebfpw.jimdo.com  O431ccfpw.jimdo.com  028cdfpw.jimdo.com  0871kmfpw.jimdo.com
0851gyfpw.jimdo.com  0891lsfpw.jimdo.com  0311sjzfpw.jimdo.com  0351tyfpw.jimdo.com

使用道具

藤椅
gutianwen2008 发表于 2015-10-5 22:19:52 |只看作者 |坛友微信交流群
新手请多关照 发表于 2015-10-5 22:15
感觉好难
0532qdfpw.jimdo.com0531jnfpw.jimdo.com 0512szfpw.jimdo.com 025njfpw.jimdo.com0571hzfpw.jim ...
我就是单个把 i 替换成数字,是可以出图的,就是循环出来的是白图。。

使用道具

板凳
zhangzhangmen 发表于 2015-10-6 09:44:37 |只看作者 |坛友微信交流群
估计是file那里出了问题,文件名要加引号,而你paste之后是没有引号的。
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

报纸
gutianwen2008 发表于 2015-10-6 09:53:11 |只看作者 |坛友微信交流群
zhangzhangmen 发表于 2015-10-6 09:44
估计是file那里出了问题,文件名要加引号,而你paste之后是没有引号的。
文件名没问题额,有引号。问题是这样,png文件能生成,只是图片是全白色。不用循环,一个个重复,图片是正常的

使用道具

地板
zhangzhangmen 发表于 2015-10-6 10:09:09 |只看作者 |坛友微信交流群
gutianwen2008 发表于 2015-10-6 09:53
文件名没问题额,有引号。问题是这样,png文件能生成,只是图片是全白色。不用循环,一个个重复,图片是正 ...
好像是和qplot函数有关,我换做内置的plot函数可以出图

使用道具

7
gutianwen2008 发表于 2015-10-6 11:18:37 |只看作者 |坛友微信交流群
zhangzhangmen 发表于 2015-10-6 10:09
好像是和qplot函数有关,我换做内置的plot函数可以出图
试了下,发现问题是在画图函数上!谢谢
原因不知道为啥,暂时用其他函数代替了

使用道具

8
cheetahfly 在职认证  发表于 2015-10-7 00:58:37 |只看作者 |坛友微信交流群
将qplot那句改为
  1. print(qplot(data2[,5]*100, data = data2 , geom ="histogram",xlab=paste("金融行业年回报率_",as.character(i),"(%)")))
复制代码

就可以了。原因如下:http://stackoverflow.com/questions/13123869/looping-with-qplot-ggplot2
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

使用道具

9
cheetahfly 在职认证  发表于 2015-10-8 15:09:38 |只看作者 |坛友微信交流群
续接我上面的帖子,qplot()函数在循环中出现问题的原因应该是:在交互式环境下,qplot函数的结果被默认print出来,因此图像展现在我们眼前;但是在循环中,函数的结果并没有被默认print出来,因此看不到东西,所以要额外用print()函数来将其显示出来。

使用道具

10
gutianwen2008 发表于 2015-10-9 08:24:20 |只看作者 |坛友微信交流群
cheetahfly 发表于 2015-10-8 15:09
续接我上面的帖子,qplot()函数在循环中出现问题的原因应该是:在交互式环境下,qplot函数的结果被默认prin ...
谢谢大神指导!!了解了

使用道具

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

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

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

GMT+8, 2024-4-25 01:28