楼主: Jada16
15258 18

[问答] ggplot2 画图。 [推广有奖]

  • 2关注
  • 1粉丝

已卖:2份资源

硕士生

97%

还不是VIP/贵宾

-

威望
0
论坛币
16 个
通用积分
5.0046
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
163 点
帖子
152
精华
0
在线时间
198 小时
注册时间
2013-5-8
最后登录
2022-11-29

楼主
Jada16 发表于 2014-4-30 11:24:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
刚下了一个 ggplot2 的包,就是想用它来画两组数。我先把一个excel表导入了,然后想画x,y的数在一个图上。前面的 code如下:

1.png

然后试着用这个新下的 ggplot2 画 x和y的图。。
> qplot(month,rate,data=x,geom="line")

结果出现了下面这个:
错误: ggplot2 doesn't know how to deal with data of class ts

请问各位高手,该怎么做呢?? 十分感谢大家!!



二维码

扫码加我 拉你入群

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

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

关键词:ggplot2 gplot plot GPL Excel表 excel

沙发
Aharach 发表于 2014-4-30 18:56:24
不用把你的数据转成ts格式...

直接拿原数据画图就好。 ggplot不认识ts格式的。

  1. ggplot(data=dat,aes(x=r_salary,y=r_sales))+geom_line()
复制代码

藤椅
求证1加1 发表于 2014-4-30 19:02:09
ggplot2只给dataframe面子
个人主页,欢迎订阅http://chenangliu.info/

板凳
Jada16 发表于 2014-5-5 11:48:36
Aharach 发表于 2014-4-30 18:56
不用把你的数据转成ts格式...

直接拿原数据画图就好。 ggplot不认识ts格式的。
非常感谢!! 按照您的提示,我输入了下面这组code:
co.png

得出了这个图:

tu.png

我其实希望是 r_sales 和 r_salary 都在y轴上,然后横坐标 x轴是时间。 这样图上就是两条线,不同颜色,一条代表 r_sales,一条代表 r_salary.. 不知道能不能行??  十分感谢您!!

报纸
Aharach 发表于 2014-5-7 05:42:45
Jada16 发表于 2014-5-5 11:48
非常感谢!! 按照您的提示,我输入了下面这组code:
可以。假设你的时间变量名叫time:
  1. ggplot(data=dat,aes(x=time))+geom_line(data=dat,aes(y=r_sales),colour="blue")+geom_line(data=dat,aes(y=r_salary),colour="red")
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Jada16 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

地板
Jada16 发表于 2014-5-8 10:44:56
Aharach 发表于 2014-5-7 05:42
可以。假设你的时间变量名叫time:
非常感谢您!! 我按照您的code 输入了一下,如下:

2.png

可是还是没得出图线来。出现了像下面这个图:

1.png

我附上了所使用的excel数据: moju.xlsx (10.95 KB)
十分感谢!! 初用R,很多都不懂。感谢!!

7
Aharach 发表于 2014-5-9 04:27:29
是数据里面month变量的问题。

ggplot在话factor变量的时候,需要指定group变量......看看你的数据:
  1. str(dat)
复制代码
你会发现你的month是个factor,所以要转换一下month的格式。可以在Excel里面转换成类似"2011/1/1",再用下面的代码转一下类型,画图:
  1. dat\$\time <- as.Date(dat\$\month,"%Y/%m/%d") #忽略美元号前后的"\",论坛回复会自动把美元号解码...
  2. ggplot(data=dat,aes(x=time))+geom_line(aes(y=r_salary,colour="red"))+geom_line(aes(y=r_sales,colour="blue"))
复制代码
效果如下:
1.jpeg
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
crystal8832 + 20 + 1 + 1 观点有启发
Jada16 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

8
Jada16 发表于 2014-5-21 10:45:00
Aharach 发表于 2014-5-9 04:27
是数据里面month变量的问题。

ggplot在话factor变量的时候,需要指定group变量......看看你的数据:你会 ...
前阵子出差外地加班,一直没顾上来看。 刚看到试了一下,完全没问题了。做出来了! 真的太感谢了!!!谢谢!!!

9
gssdzc 在职认证  发表于 2014-5-22 12:45:00
学习了。谢谢

10
davidguo99 发表于 2014-5-27 12:35:19
学习了~!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 12:09