ggplot的数据点太多?

问题描述 投票:-1回答:1

我有一个.csv数据集,其中包含14个变量的大约8000个观测值。我正在尝试从该数据集中提取1个变量,然后按日期将其放入图表中。我有点想通了,但情节不可读。

我如何减少数据(仍可表示)?

或者完全没有另一个我没有看到的功能。

数据集显示了英国的每日通货膨胀率。

当我将数据放入图中时,信息会变得混乱,因此您看不到日期或实际更改。我也有一些日期仅显示“ NA”(不可用),但我可以尝试自己删除它。

Inflation <- read.csv("inflation_daily.csv")
inflation_filtered <- Inflation[3653:7753,] 


inflation_date <- inflation_filtered[,1]
inflation_r <- inflation_filtered[,11]

ggplot(inflation_filtered, aes(x=inflation_date, y=inflation_r, group = 1)) 
+ geom_line(color="blue") + xlab("Date")+ ylab("Inflation") 

预期结果是我设法绘制了图,意外结果是它不可读。添加了一张图片,以便您查看我的结果。

enter image description here

r ggplot2
1个回答
0
投票

要考虑的一些事项:inflation_date未解析为日期,我认为y值未解析为数字。无论采用哪种格式,都请尝试将inflation转换为日期,然后将inflation_r转换为数字,ggplot2会很好地处理这些数据,这将清理轴。

ggplot(
  data.frame(
    date = lubridate::ymd("2000-01-01") + seq(10000), 
    y = runif(10000)
  ), 
  aes(date, y)) + 
  geom_line()

创建类似的东西(请参阅日期的处理方式)

查看细线的较小倍数可能有助于过度绘图:

ggplot(
  data.frame(
    date = lubridate::ymd("2000-01-01") + seq(10000), 
    y = runif(10000)
  ), 
  aes(date, y)
) + 
  geom_line(size=0.5) + 
  facet_wrap(~lubridate::year(date), scale="free_x")
© www.soinside.com 2019 - 2024. All rights reserved.