楼主: llmahayu
4026 4

[问答] ggplot2画折线图报错求助 [推广有奖]

  • 0关注
  • 0粉丝

本科生

77%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
516 点
帖子
39
精华
0
在线时间
144 小时
注册时间
2020-4-29
最后登录
2022-8-1

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助下各位这到底是什么原因
我在画折线图的时候ggplot报错
作图时候的代码:
ggplot(huitu,aes(year,v1,colour = v2))+geom_line()

Don't know how to automatically pick scale for object of type data.frame. Defaulting to continuous.
Error: Tibble columns must have compatible sizes.
* Size 6: Column `colour`.
* Size 12: Columns `x`, `y`, and `PANEL`.
i Only values of size one are recycled.
Run `rlang::last_error()` to see where the error occurred.


但是同样的代码用一个示例的就不会报错
ggplot(df, aes(year,value, colour = type)) + geom_line()

不知道到底那里有问题也检查了数据结构,和示例的一模一样都不可以
示例的数据结构:
'data.frame':        52 obs. of  3 variables:
$ year : int  1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 ...
$ type : chr  "A" "A" "A" "A" ...
$ value: num  0.114 0.622 0.609 0.623 0.861 ...


我自己的数据结构
'data.frame':        12 obs. of  3 variables:
$ v1  : num  1.40e+08 1.58e+08 1.74e+08 1.91e+08 2.10e+08 ...
$ V2  : chr  "A" "A" "A" "A" ...
$ year: int  2013 2014 2015 2016 2017 2018 2013 2014 2015 2016 ...


这明明也没差什么但是我自己的数据就会报错求助各位大佬,再次谢过。
二维码

扫码加我 拉你入群

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

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

关键词:ggplot2 gplot plot 折线图 GPL

回帖推荐

llb_321 发表于4楼  查看完整内容

这与示例数据无关,是你自己的数据v2出现问题,你的样本是12个,但是ggplot映射到color的v2只有6个样本,所以会报错,至于为什么v2只识别到6个,可能与你调用的某个包有关,你查看一下读入数据是用的什么代码。 我用类似的数据,试了不同变化,没有报错。 df
沙发
maths_hjxk 发表于 2020-7-19 16:40:34 |只看作者 |坛友微信交流群
好像是你的V2有问题,最好把数据源代码贴出来,你这样把结果贴出来,不好判断,也不易帮你重现错误

使用道具

藤椅
llmahayu 发表于 2020-7-19 17:31:17 |只看作者 |坛友微信交流群
maths_hjxk 发表于 2020-7-19 16:40
好像是你的V2有问题,最好把数据源代码贴出来,你这样把结果贴出来,不好判断,也不易帮你重现错误
首先谢谢回复
数据代码问题里最顶上是我自己写的,下面一点的是示例的。数据结构示例year 是整数型,value是浮点型,type(分组)是字符型,我也按照同样的数据格式弄了,就是还不太行

使用道具

板凳
llb_321 在职认证  发表于 2020-7-19 20:22:38 |只看作者 |坛友微信交流群
这与示例数据无关,是你自己的数据v2出现问题,你的样本是12个,但是ggplot映射到color的v2只有6个样本,所以会报错,至于为什么v2只识别到6个,可能与你调用的某个包有关,你查看一下读入数据是用的什么代码。

我用类似的数据,试了不同变化,没有报错。
df<-data.frame(year=c(2013:2024),v1=runif(12,0,100),v2=rep(c("A","B"),6),stringsAsFactors = F)
ggplot(df, aes(year,v1, colour = v2)) + geom_line()

另外,报错信息显示你的数据是tibble类型,把df转成tibble后,绘图也没有报错。
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
cheetahfly + 10 热心帮助其他会员
llmahayu + 1 + 1 精彩帖子

总评分: 论坛币 + 10  学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

报纸
llmahayu 发表于 2020-7-19 21:13:51 |只看作者 |坛友微信交流群
llb_321 发表于 2020-7-19 20:22
这与示例数据无关,是你自己的数据v2出现问题,你的样本是12个,但是ggplot映射到color的v2只有6个样本,所 ...
十分感谢回答。这个问题弄得我焦头烂额的,平时画图都出现过这个问题。我去试一下,再次感谢

使用道具

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

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

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

GMT+8, 2024-6-14 16:15