【发布时间】:2019-11-12 23:20:13
【问题描述】:
我正在尝试绘制我的数据集婚姻,其中包括状态、年份和比率。但是,我试图专注于特定的年份间隔,以便图表看起来不那么拥挤。
marriage<-read.csv(file="~/Desktop/datah.csv", header=T, sep=",",check.names=FALSE)
marriage
marriage <- marriage %>%
gather(key=year, value=rate, `2017`:`1990`)
ggplot(marriage, aes(x=year, y=rate, group=State)) +
geom_point(aes(color=State)) +
geom_line(aes(color=State)) +
theme_bw()
我已尝试添加以下内容以尝试将 x 和 y 轴限制在上面的最后一行代码
+ylim(0,2)
+scale_x_continuous(limits=c(2000, 2005))
+xlim(2010, 2015)
+scale_x_continous(breaks = seq(2000, 2005, 5))
但我明白了,错误:提供给连续刻度的离散值
我也试过把它变成数字
marriage$variable=as.numeric(levels(marriage$variable))[marriage$variable]
我收到以下错误 $
这是数据的前几行
State 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1995 1990
1 Alabama 7.0 7.1 7.4 7.8 7.8 8.2 8.4 8.2 8.3 8.6 8.9 9.2 9.2 9.4 9.6 9.9 9.4 10.1 10.8 9.8 10.6
2 Alaska 6.9 7.1 7.4 7.5 7.3 7.2 7.8 8.0 7.8 8.4 8.5 8.2 8.2 8.5 8.1 8.3 8.1 8.9 8.6 9.0 10.2
3 Arizona 5.8 5.9 5.9 5.8 5.4 5.6 5.7 5.9 5.6 6.0 6.4 6.5 6.6 6.7 6.5 6.7 7.6 7.5 8.2 8.8 10.0
4 Arkansas 9.5 9.9 10.0 10.1 9.8 10.9 10.4 10.8 10.7 10.6 12.0 12.4 12.9 13.4 13.4 14.3 14.3 15.4 14.8 14.4 15.3
5 California 6.3 6.5 6.2 6.4 6.5 6.0 5.8 5.8 5.8 6.7 6.2 6.3 6.4 6.4 6.1 6.2 6.5 5.8 6.4 6.3 7.9
6 Colorado 7.3 7.4 6.8 7.1 6.5 6.8 7.0 6.9 6.9 7.4 7.1 7.2 7.6 7.4 7.8 8 8.2 8.3 8.2 9.0 9.8
7 Connecticut 5.6 5.6 5.3 5.4 5 5.2 5.5 5.6 5.9 5.4 5.5 5.5 5.8 5.8 5.5 5.7 5.4 5.7 5.8 6.6 7.9
8 Delaware 5.5 5.6 5.7 6 6.6 5.8 5.2 5.2 5.4 5.5 5.7 5.9 5.9 6.1 6 6.4 6.5 6.5 6.7 7.3 8.4
9 District of Columbia 8.2 8.1 8.2 11.8 10.8 8.4 8.7 7.6 4.7 4.1 4.2 4 4.1 5.2 5.1 5.1 6.2 4.9 6.6 6.1 8.2
10 Florida 7.8 8.1 8.2 7.3 7 7.2 7.4 7.3 7.5 8.0 8.5 8.6 8.9 9.0 9 9.4 9.3 8.9 8.7 9.9 10.9
11 Georgia 6.9 6.8 6.2 --- --- 6.5 6.6 7.3 6.6 6.0 6.8 7.3 7.0 7.9 7 6.5 6.1 6.8 7.8 8.4 10.3
12 Hawaii 15.3 15.6 15.9 17.7 16.3 17.5 17.6 17.6 17.2 19.1 20.8 21.9 22.6 22.6 22 20.8 19.6 20.6 18.9 15.7 16.4
13 Idaho 7.8 8.1 8.2 8.4 8.2 8.2 8.6 8.8 8.9 9.5 10.0 10.1 10.5 10.8 10.9 11 11.2 10.8 12.1 13.1 13.9
【问题讨论】:
-
听起来你的
year列很可能在你gather()之后是分类的。gather()中的convert参数可能对此有所帮助。 -
@MatthewR 我查看了该链接并尝试实现它并收到此错误。
marriage$variable=as.numeric(levels(marriage$variable))[marriage$variable]$tmp, variable, value = numeric(0)) 中的错误:替换有 0 行,数据有 1071 – -
为了让人们帮助您解释超出猜测的错误消息,reproducible example 将是必要的
-
我相信这个问题实际上是关于读取文件而不是 ggplot2。我认为症状是情节,但问题是文件输入。在
read.csv()中尝试na.strings = "---"。
标签: r ggplot2 scale axis-labels