geom_line 行为异常
geom_line is behaving strangely
我在使用非常简单的可视化时遇到问题。
我只是想为一些非常干净的数据绘制一个简单的时间序列图,如下所示。 (它来自 AER
包的 Fatalities
数据集。)
Fatalities %>%
select(year, state, fatal_rate) %>%
filter(state %in% c('ca', 'az'))
year state fatal_rate
8 1982 az 2.49914
9 1983 az 2.26738
10 1984 az 2.82878
11 1985 az 2.80201
12 1986 az 3.07106
13 1987 az 2.76728
14 1988 az 2.70565
22 1982 ca 1.86194
23 1983 ca 1.80672
24 1984 ca 1.94611
25 1985 ca 1.88128
26 1986 ca 1.94548
27 1987 ca 1.98966
28 1988 ca 1.90365
当我绘制它时,我几乎得到了我想要的,这是每个州的一条线图,但由于某种原因存在不同州的线相互连接的问题。它始终是一个状态从其时间序列的末尾连接到另一个状态的另一个状态的时间序列的开始。如果我添加更多状态,它看起来会更乱,结果是一样的:许多不同颜色的线相互连接。
有人知道我怎样才能让 ggplot2 停止这样做吗?知道为什么会这样,这样我以后就可以避免此类问题了吗?预先感谢您的任何建议。
Fatalities %>%
select(year, state, fatal_rate) %>%
filter(state %in% c('ca', 'az')) %>%
ggplot(aes(year, fatal_rate)) +
geom_line(aes(color = state), group = 1) +
theme_bw()
我只想让 state
成为石斑鱼,而不是让它们与您正在做的一样。 ggplot
将提供您想要的行为:
library(tidyverse)
data(Fatalities, package = "AER")
Fatalities %>%
select(year, state, afatal) %>%
filter(state %in% c('ca', 'az')) %>%
ggplot(aes(year, afatal, group = state)) +
geom_line(aes(color = state)) +
theme_bw()
这样它就知道这是两个独立的时间序列。
我在使用非常简单的可视化时遇到问题。
我只是想为一些非常干净的数据绘制一个简单的时间序列图,如下所示。 (它来自 AER
包的 Fatalities
数据集。)
Fatalities %>%
select(year, state, fatal_rate) %>%
filter(state %in% c('ca', 'az'))
year state fatal_rate
8 1982 az 2.49914
9 1983 az 2.26738
10 1984 az 2.82878
11 1985 az 2.80201
12 1986 az 3.07106
13 1987 az 2.76728
14 1988 az 2.70565
22 1982 ca 1.86194
23 1983 ca 1.80672
24 1984 ca 1.94611
25 1985 ca 1.88128
26 1986 ca 1.94548
27 1987 ca 1.98966
28 1988 ca 1.90365
当我绘制它时,我几乎得到了我想要的,这是每个州的一条线图,但由于某种原因存在不同州的线相互连接的问题。它始终是一个状态从其时间序列的末尾连接到另一个状态的另一个状态的时间序列的开始。如果我添加更多状态,它看起来会更乱,结果是一样的:许多不同颜色的线相互连接。
有人知道我怎样才能让 ggplot2 停止这样做吗?知道为什么会这样,这样我以后就可以避免此类问题了吗?预先感谢您的任何建议。
Fatalities %>%
select(year, state, fatal_rate) %>%
filter(state %in% c('ca', 'az')) %>%
ggplot(aes(year, fatal_rate)) +
geom_line(aes(color = state), group = 1) +
theme_bw()
我只想让 state
成为石斑鱼,而不是让它们与您正在做的一样。 ggplot
将提供您想要的行为:
library(tidyverse)
data(Fatalities, package = "AER")
Fatalities %>%
select(year, state, afatal) %>%
filter(state %in% c('ca', 'az')) %>%
ggplot(aes(year, afatal, group = state)) +
geom_line(aes(color = state)) +
theme_bw()
这样它就知道这是两个独立的时间序列。