我试图用ggplot绘制一个有15条线的线图。我想让这些线条变化,以便更容易阅读。我找到了一种方法,使线从点,虚线和直线不同,但是,它只适用于多达13个变量,然后不会绘制最后两个。有人有办法解决这个问题吗?
这是我尝试做的一个例子。
states_list = list('Alabama', 'Alaska', 'Arkansas', 'California', 'Colorado', 'Delaware', 'Flordia', 'New Mexico', 'New York', 'Oregon', 'Hawaii', 'Idaho', 'Utah', 'Washington', 'Vermont')
states_repeat = rep(states_list, 8)
states_df <-data.frame(states = unlist(states_repeat), years = list(rep(2014:2021, times = 15)), value = (rnorm(120)))
colnames(states_df) <- c('states', 'years', 'value')
statesplot <- ggplot(states_df, aes(x = years, y = value, group = states, colour = states)) +
geom_line(aes(linetype = states))
statesplot
1条答案
按热度按时间wtlkbnrh1#
通常不建议使用许多不同的线型,因为这些线很难区分。
scales::linetype_pal()
提供的linotypes的默认调色板最多只提供13种不同的linotypes,这可能是原因之一。尽管如此,如果您需要更多线型,您可以扩展默认选项板或创建自己的选项板。有关如何创建自定义线型的详细信息,请参见美学规范插图。在下面的代码中,我扩展了默认的线型选项板: