我在构造折线图时遇到问题。这是我的折线图的输出。为什么这样的输出,我的意思是线条不接触(不连续)。也许问题与我的数据格式或类型有关? 折线图的代码: plotLine <-ggplot(sales_clean,aes(x = sales_clean $ Date,y = sales_clean $ Net_Rev,na.rm = FALSE)) plotLine + geom_line()
答案 0 :(得分:0)
1)问题是sales_clean$Year
是factor
。
2)ggplot将您的x值归为绝对值,将y值作为连续值和合计值插入条形图中(而不是条中有线条)。
请查看模拟:
library(ggplot2)
set.seed(123)
sales_clean <- data.frame(Year = rep(factor(2014:2018), 1000), Net_Rev = abs(rnorm(5000)))
plotLine <- ggplot(sales_clean, aes(Year, Net_Rev, na.rm = FALSE))
plotLine + geom_line()
3)解决方案之一是将因子转换为数字并按年份进行汇总。 请查看结果:
sales_clean$Year_num <- as.numeric(as.character(sales_clean$Year))
sales_clean_plot <- aggregate(Net_Rev ~ Year_num, sales_clean, sum)
plotLine <- ggplot(sales_clean_plot, aes(Year_num, Net_Rev, na.rm = FALSE))
plotLine + geom_line()
4)最好不要在$
的{{1}}中使用ggplot
,因为data.frame名称已经在aes()
的第一个参数中提到。代码变得凌乱且难以阅读。