r - ggplot2 绘图无法识别上课日期
问题描述
我尝试了很多不同的日期格式并浏览了论坛,但没有任何帮助。
我的代码很简单。我正在从数据库中吸取模拟结果,然后尝试用 ggplot 绘制样本。不幸的是,结果图没有在 x 轴上显示正确的日期时间格式。这是我的示例代码:
df<-tryCatch(sqlQuery(myconn,sql),
warning=function(w){print("FAIL! (warning)");return(NA)},
error=function(e){print(paste("ERROR:",geterrmessage()));return(NA)})
数据框 df 由两列 FIX_DATE 和posixct格式以及num格式的 SALDO 组成。
现在我已经尝试了很多不同的日期格式转换,正如在不同的工作组中指出的那样,但没有任何效果。例如
dates<-as.Date(df$FIX_DATE)
或者
library(lubridate)
dates<-ymd(df$FIX_DATE)
日期转换后:
samples <- data.frame(cbind(dates,df$SALDO))
colnames(samples) <-c("Dates","Values")
和情节
theme_set(theme_light())
ggplot(samples,aes(x=Dates, y=Values)) +
geom_point(color = "navajowhite2",
alpha = 0.5,
shape = 1,
stroke = 1) +
#geom_smooth(color="red") +
stat_summary(fun.y = "mean", geom = "line", size = 1, colour="indianred2") +
labs(title = "Monte-Carlo Szenarien", subtitle = "Darstellungsgitter in Jahren") +
labs(y = "Nominal-Cashflows", x="Zeit") +
theme(legend.position="none",
plot.background = element_blank(),
panel.grid.major = element_line(color = "snow3"),
panel.grid.minor = element_line(color = "snow2"),
panel.border = element_blank(),
axis.line.x = element_line(color = "black"),
axis.line.y = element_line(color = "black")) +
scale_y_continuous(name="Szenarien Nominal-Cashflows", limits=c(1E+06, 3E+06)) +
scale_x_date(date_labels = "%Y-%m-%d")
如果我删除线
scale_x_date(date_labels = "%Y-%m-%d")
我得到了情节。正如您在图中看到的,x 轴只显示天数,而不是正确的日期格式。如果我添加 line scale_x_date(date_labels = "%Y-%m-%d") 我总是收到错误消息: 错误:无效输入:date_trans 仅适用于 Date 类的对象
有没有人有线索。
提前致谢
解决方案
您的数据框samples
似乎只有 2 个变量Dates
和Values
,但在aes
您指的是其他变量的部分。
推荐阅读
- javascript - WordPress 附件分类复选框组未保存在网格视图中
- deeplearning4j - java.lang.UnsatisfiedLinkError:java.library.path 中没有 jnind4jcpu
- visual-studio-code - 我们在哪里可以获得 ZIP 格式的旧版本 VSCode(如 1.25)?
- excel-formula - MS Excel - 删除所有空格然后比较两个单元格
- android - 按钮没有在 CardView 上方移动
- java - 如何在Java中使用泛型模板对数组求和而不会出现错误的操作数类型错误
- c# - 起订量和设置数据库上下文
- java - 在 java 中添加 UnsignedInteger 并继续获得 Method call Expected
- java - 将外键作为模型中的主键
- azure - 从自定义终结点读取 Azure IoT 中心消息