顯示每斌分級日期我有一個完整的日期和值對的文件。我想按月清點積分,然後顯示一個盒子和鬚鬚圖。我的問題是,我有很多個月的價值數據的,所以我只想顯示x軸標籤一些。沒有在x軸上
我的代碼如下所示:
library(ggplot2)
library(reshape2)
library(scales)
data <- read.delim("values.tsv", header=TRUE)
# Interpret the strings as dates
data$Date <- as.Date(data$Date, "%Y-%m-%d %H:%M:%S %z")
# Bin the data by month
data$Date <- cut(data$Date, breaks="1 month")
ggplot(data, aes(factor(Date), Temperature)) +
geom_boxplot()
ggsave("output.pdf", width=8, height=6, units="in")
這裏是適當的格式一些示例數據:跨越40個月
Date Temperature
2016-09-29 07:16:00 -0500 295.0
2016-09-30 07:23:00 -0500 295.0
2016-10-03 10:27:00 -0500 297.8
2016-10-04 07:27:00 -0500 296.2
2016-10-26 05:52:00 -0500 294.2
2016-10-27 06:18:00 -0500 294.2
2016-10-28 07:41:00 -0500 294.2
2016-11-27 09:07:00 -0500 293.6
2016-11-30 08:03:00 -0500 295.0
2016-12-01 08:12:00 -0500 295.0
2016-12-02 08:01:00 -0500 293.2
2016-12-07 08:02:00 -0500 294.6
2016-12-08 07:50:00 -0500 294.6
2016-12-09 08:37:00 -0500 293.2
2016-12-12 08:25:00 -0500 294.4
2016-12-13 07:47:00 -0500 293.2
2016-12-14 07:52:00 -0500 294.6
2017-01-09 07:53:00 -0500 294.0
2017-01-10 08:26:00 -0500 294.4
2017-01-11 08:20:00 -0500 294.6
2017-01-31 08:16:00 -0500 290.6
2017-02-07 07:59:00 -0500 290.8
2017-02-08 08:10:00 -0500 290.6
2017-02-09 08:33:00 -0500 291.2
2017-02-10 07:57:00 -0500 290.4
2017-02-13 07:48:00 -0500 290.4
2017-02-28 08:19:00 -0500 291.8
實際數據由幾百個數據點。該數據被正確分級,但是當我嘗試通過
scale_x_date(date_breaks="4 months", date_labels="%b '%y")
添加比例出現錯誤
Error: Invalid input: date_trans works with objects of class Date only
似乎cut
輸入日期轉換爲別的弦,我承擔。如何將x軸值轉換回日期,以便我可以將scale_x_date
應用於它們?
你有沒有打印之前檢查類'Date'的?但是,我認爲,即使是日期,通過調用'AES(因子(日期)'你的ggplot調用內部將它們變成因素一次。因此,我不認爲'scale_x_date'可以工作。 – lbusett
@LorenzoBusetto是的,如果我離開的是'cut'呼叫然後我就可以成功地使用'scale_x_date'後,我認爲這意味着'Date'確實之前包含日期。 – bdesham