r - ggplot2 是否需要数据框才能正确绘图?
问题描述
我每天绘制 30 个数据点。然而,当我这样做时,我最终得到的情节点比我拥有的数据多得多。我没有将 harMetDaily.09.11 转换为数据框。如果我将其作为一条线而不是一条有 30 个点的线来执行,它会显示数百个并且看起来确实不平滑 - 鉴于问题存在于各种图中,我认为它存在于我的数据格式中。这些图本身具有正确的 x 和 y 轴以及标签和格式——这只是在数据显示中
# daily HARV met data, 2009-2011
harMetDaily.09.11 <- read.csv(
file="C:/Users/12083/Documents/orbis/NEON-DS-Met-Time-Series/HARV/FisherTower-Met/Met_HARV_Daily_2009_2011.csv",
stringsAsFactors = FALSE
)
# convert date to Date class
harMetDaily.09.11$date <- as.Date(harMetDaily.09.11$date)
----情节聊天------------------------------------------- ----------------
chatdaily <- ggplot(harMetDaily.09.11, aes(date, chat)) +
geom_point() +
ggtitle("Daily Library Transactions") +
xlab("Date") + ylab("Transactions") +
scale_x_date(labels=date_format ("%m-%y"))+
theme(plot.title = element_text(lineheight=.8, face="bold",
size = 20)) +
theme(text = element_text(size=18))
chatdaily
解决方案
对我来说,情节看起来并没有超出预期。
下面是一个可重现的例子,我也省略了所有没有日期的数据行,只是为了检查。有 341 行具有有效日期,对我来说情节看起来很正确。
library(tidyverse)
data_url <- "https://raw.githubusercontent.com/karl1776/graph/master/Met_HARV_Daily_2009_2011.csv"
dt <- url(data_url) %>%
read.csv(stringsAsFactors = FALSE, header = TRUE) %>%
mutate(date = as.Date(date, format = "%m/%d/%Y")) %>%
filter(!is.na(date))
ggplot(dt, aes(date, chat)) +
geom_point() +
labs(title = "Daily Library Transactions",
x = "Date",
y = "Transactions") +
scale_x_date(date_labels="%m-%y")+
theme(plot.title = element_text(lineheight=.8, face="bold",
size = 20),
text = element_text(size=18))
由reprex 包(v0.3.0)于 2020-06-26 创建
推荐阅读
- tensorflow - 加载 SSD Inception v2 模型时 ML.NET 输入形状不匹配
- sql - 从 SQL 响应中读取 uniqueidentifier 时出现问题
- arrays - Mongodb通过键值更新嵌套数组
- python - 如何在熊猫中对数据类别进行汇总?
- python-3.x - ValueError:尺寸必须相等(keras)
- javascript - 执行 npm install angular-firebase --save 时出错
- android - 如何在android中阻止相机切换?
- spring-webflux - 如何使用 `Function 增加主题消费者吞吐量
, 通量 >`? - javascript - 如何根据多个条件过滤我的数据?
- oracle - Oracle 视图对象类型列