Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 每年一张闪避条形图_R_Datetime_Ggplot2_Bar Chart - Fatal编程技术网

R 每年一张闪避条形图

R 每年一张闪避条形图,r,datetime,ggplot2,bar-chart,R,Datetime,Ggplot2,Bar Chart,我有一个道奇条形图,显示每年“创建日期”和“上次访问”的数据。日期数据格式为年-月日期小时:分钟:秒 现在,我想将数据拆分为一个每年显示创建日期和每年每个日期最后访问的图表。我试着把所有的东西都画在一张图上,但是它真的很乱 是否有可能每年绘制一次,因此在本例中,它将是6个图形,因为它是6年。我在想每年都会有这样的事情 for(x in 1:number_of_years) { ... plot } 这是我的代码: ```{r echo=FALSE, warning=FALSE} # Li

我有一个道奇条形图,显示每年“创建日期”和“上次访问”的数据。日期数据格式为
年-月日期小时:分钟:秒

现在,我想将数据拆分为一个每年显示创建日期和每年每个日期最后访问的图表。我试着把所有的东西都画在一张图上,但是它真的很乱

是否有可能每年绘制一次,因此在本例中,它将是6个图形,因为它是6年。我在想每年都会有这样的事情

for(x in 1:number_of_years) {
 ... plot
}
这是我的代码:

```{r echo=FALSE, warning=FALSE}
# Libraries
library(ggplot2)
library(data.table)
library(tidyr)

# Read data
df = read.csv2(text = "File.Name|Created.Date|Last.Accessed|Visual.Group
60be1ba43bf7cjpg|1989-11-17 06:25:22|2017-07-15 01:25:22|0
60be1ba43bf89jpg|1989-02-04 04:03:16|2021-12-17 04:03:16|1
60be1ba43bf8djpg|2017-04-22 14:57:13|2017-11-17 23:57:13|2
60be1ba43bf90jpg|2021-04-12 23:03:44|2018-11-17 05:03:44|3
60be1ba43bf93jpg|2019-08-28 18:23:16|1989-09-07 12:23:16|4
60be1ba43bf95jpg|1989-09-11 08:16:20|2020-03-17 10:16:20|5
60be1ba43bf98jpg|2018-08-01 16:56:05|2017-04-24 03:56:05|5
60be1ba43bf9bjpg|2017-06-23 19:01:37|1989-07-14 22:01:37|6
60be1ba43bf9ejpg|2018-02-20 15:21:26|2020-02-01 18:21:26|7
60be1ba43bfa1jpg|2021-12-10 08:34:09|2021-04-17 02:34:09|8
60be1ba43bfa4jpg|2017-01-02 19:03:10|1989-11-16 14:03:10|9
60be1ba43bfa6jpg|2017-04-28 15:50:33|2019-02-22 06:50:33|9
60be1ba43bfd6jpg|2018-04-14 22:21:37|2021-08-28 14:21:37|9
60be1ba43bfdajpg|2019-07-15 04:31:04|2017-07-11 04:31:04|10
60be1ba43bfddjpg|2020-11-06 01:06:25|1989-08-16 09:06:25|10
60be1ba43bfe0jpg|2021-08-05 06:38:07|2021-12-25 15:38:07|11
60be1ba43bfe3jpg|2017-01-14 03:47:54|2020-08-03 20:47:54|12
60be1ba43bfe6jpg|1989-11-26 17:33:01|2018-11-07 22:33:01|13
60be1ba43bfe9jpg|2018-09-21 07:17:29|1989-10-05 03:17:29|14
60be1ba43bfebjpg|2017-03-13 09:42:04|2020-08-23 11:42:04|14
60be1ba43bfeejpg|2020-07-18 08:36:52|2018-10-04 12:36:52|15
60be1ba43bff1jpg|2021-01-21 05:20:29|2019-04-28 03:20:29|16
60be1ba43bff4jpg|2018-10-19 08:13:24|1989-10-16 18:13:24|17
60be1ba43bff7jpg|2017-06-15 07:49:44|2021-05-11 01:49:44|18
60be1ba43bff9jpg|2019-05-23 23:41:20|2019-08-26 13:41:20|18
60be1ba43bffcjpg|1989-02-17 03:13:27|1989-11-20 16:13:27|19
60be1ba43bfffjpg|2020-08-26 15:22:01|2018-08-21 17:22:01|20
60be1ba43c001jpg|2020-12-21 05:22:03|2017-04-04 15:22:03|21
60be1ba43c004jpg|2018-02-14 08:23:01|1989-03-26 06:23:01|21
60be1ba43c007jpg|2018-10-25 08:19:18|2021-07-06 08:19:18|21
60be1ba43c00ajpg|2017-11-28 07:22:03|2021-09-23 08:22:03|22
60be1ba43c00cjpg|2019-11-19 17:12:02|2019-05-23 03:12:02|23
60be1ba43c00fjpg|2017-02-26 00:43:21|2019-11-19 20:43:21|24
60be1ba43c012jpg|2017-10-27 01:05:53|1989-03-14 02:05:53|25
60be1ba43c015jpg|2019-06-18 08:06:07|1989-10-28 16:06:07|25
60be1ba43c017jpg|2021-08-19 02:01:32|2020-05-28 03:01:32|25
60be1ba43c01ajpg|2021-07-13 23:02:21|2017-07-05 03:02:21|25
60be1ba43c01djpg|1989-05-14 02:51:23|2020-03-24 01:51:23|25
60be1ba43c020jpg|2021-12-13 04:05:19|2021-04-16 03:05:19|25
60be1ba43c023jpg|2019-03-26 23:42:25|2021-08-03 20:42:25|26
60be1ba43c025jpg|1989-05-09 04:08:58|2019-10-23 00:08:58|26
60be1ba43c028jpg|2018-08-11 00:48:32|2019-05-08 08:48:32|26
60be1ba43c02bjpg|2018-07-14 08:38:02|2019-05-06 22:38:02|27
60be1ba43c02ejpg|2020-03-06 19:13:14|2019-09-18 18:13:14|28
60be1ba43c030jpg|1989-07-10 11:40:46|2019-08-03 01:40:46|28
60be1ba43c033jpg|2021-12-11 02:23:44|2019-08-09 01:23:44|28
60be1ba43c036jpg|2017-11-03 19:53:43|2021-02-13 17:53:43|29
60be1ba43c038jpg|2017-02-07 02:45:47|2021-09-20 09:45:47|29
60be1ba43c03bjpg|2020-07-28 20:56:59|2018-06-06 11:56:59|30
60be1ba43c040jpg|2019-06-20 16:42:30|2020-01-02 00:42:30|31
60be1ba43c042jpg|2020-05-27 03:39:41|2021-08-11 08:39:41|31
60be1ba43c045jpg|2017-08-07 12:11:03|2017-12-15 20:11:03|32
60be1ba43c048jpg|1989-04-28 01:19:49|2019-08-17 23:19:49|32
60be1ba43c04bjpg|2017-08-26 22:07:51|2019-02-25 16:07:51|33
60be1ba43c04djpg|1989-10-12 02:27:44|2020-11-10 22:27:44|34
60be1ba43c050jpg|2021-08-18 09:01:48|2020-01-08 07:01:48|35
60be1ba43c053jpg|2017-07-21 20:56:50|2018-02-24 20:56:50|36
60be1ba43c056jpg|1989-05-13 11:23:09|2020-01-20 11:23:09|37
60be1ba43c058jpg|2020-08-21 18:46:14|2017-04-14 10:46:14|37
60be1ba43c05bjpg|2020-04-08 11:14:54|2020-12-02 00:14:54|38
60be1ba43c05ejpg|2021-02-21 06:13:14|2018-08-21 03:13:14|38
60be1ba43c060jpg|2018-06-28 04:36:20|2020-09-28 15:36:20|39
60be1ba43c063jpg|2017-09-22 23:39:53|2021-05-27 20:39:53|39
60be1ba43c065jpg|2018-05-09 16:54:13|2021-06-03 16:54:13|39
60be1ba43c068jpg|2019-01-04 00:19:33|2017-05-18 08:19:33|40
60be1ba43c06bjpg|2019-04-12 21:19:37|2017-06-23 04:19:37|40
60be1ba43c06ejpg|2019-09-22 20:44:20|2021-10-23 12:44:20|40
60be1ba43c070jpg|2021-10-23 07:57:35|2019-02-23 21:57:35|40
60be1ba43c073jpg|2021-09-17 19:13:53|2020-05-27 06:13:53|40
60be1ba43c075jpg|2017-08-13 23:06:53|2019-08-03 00:06:53|41
60be1ba43c078jpg|2017-11-02 04:47:11|2018-07-05 03:47:11|42
60be1ba43c07bjpg|2017-05-11 23:04:25|2021-09-22 04:04:25|42
60be1ba43c07ejpg|2018-04-06 21:19:03|2021-09-16 21:19:03|42
60be1ba43c080jpg|2019-03-16 01:56:36|2021-04-03 18:56:36|42
60be1ba43c083jpg|2019-02-24 13:21:29|2019-10-28 09:21:29|43
60be1ba43c086jpg|2020-03-08 10:50:00|2018-06-22 15:50:00|44
60be1ba43c088jpg|1989-06-10 16:34:03|2020-11-10 18:34:03|45
60be1ba43c08bjpg|2018-04-20 10:29:46|2021-01-24 08:29:46|46
60be1ba43c08ejpg|2019-02-13 18:27:24|2021-10-16 07:27:24|47
60be1ba43c090jpg|2019-09-16 21:54:43|2018-07-21 22:54:43|48
60be1ba43c094jpg|2021-05-23 17:25:18|2019-06-18 00:25:18|49
60be1ba43c097jpg|2020-09-15 06:42:26|2019-03-25 13:42:26|50
60be1ba43c09ajpg|2020-05-02 20:14:35|2020-06-13 08:14:35|50
60be1ba43c09djpg|1989-02-25 15:11:22|2017-08-28 03:11:22|51
60be1ba43c09fjpg|2018-07-13 15:42:14|2019-02-23 14:42:14|52
60be1ba43c0a2jpg|2020-09-09 08:58:49|2019-07-11 18:58:49|53
60be1ba43c0a4jpg|1989-12-17 02:36:08|2021-10-04 10:36:08|54
60be1ba43c0a7jpg|2020-03-11 08:41:55|2017-10-16 17:41:55|55
60be1ba43c0aajpg|2020-12-18 19:59:08|2017-12-02 03:59:08|55
60be1ba43c0adjpg|2019-06-20 09:48:27|2020-11-10 17:48:27|56
60be1ba43c0b0jpg|2020-01-05 15:49:18|1989-11-27 05:49:18|56
60be1ba43c0b2jpg|1989-06-23 23:50:52|2017-09-08 02:50:52|56
60be1ba43c0b5jpg|2019-09-01 04:29:25|2020-10-25 00:29:25|56
60be1ba43c0b8jpg|2020-08-08 07:08:47|2021-05-22 20:08:47|57
60be1ba43c0bbjpg|2018-04-11 07:32:17|2018-06-21 12:32:17|58
60be1ba43c0bdjpg|2021-05-26 08:32:28|1989-02-04 12:32:28|58
60be1ba43c0c0jpg|1989-11-25 22:22:37|2019-07-16 04:22:37|58
60be1ba43c0c4jpg|2018-02-03 10:37:57|2019-08-02 08:37:57|58
60be1ba43c0c7jpg|2018-08-18 06:36:04|1989-03-17 08:36:04|58
60be1ba43c0cajpg|2019-02-12 23:31:52|2020-06-17 13:31:52|59", 
               sep="|",stringsAsFactors=TRUE, na.strings="unknown");


# Remove duplicates (Visual group defines duplicate)
df <-df[!duplicated(df$Visual.Group), ]

# Extract year
df$Created.Date.Year <- format(as.Date(df$Created.Date, format="%Y-%m-%d"), format="%Y");
df$Last.Accessed.Year <- format(as.Date(df$Last.Accessed, format="%Y-%m-%d"), format="%Y");


#set to data.table object
dt <- as.data.table(df)

#change column names to match desired names of groups
setnames(dt, old = c("Created.Date", "Last.Accessed"), new = c("Created date", "Last Accessed"))

#pivot longer (this column becomes the variable you use in aes(fill = ..) later on. Change it to whichever name you want to have as legend title
dt <- pivot_longer(dt, cols = c("Created date", "Last Accessed"), names_to = "Legend Title", values_to = "Date")

#plot
ggplot(dt, aes(x = Date, fill = `Legend Title`)) + 
  geom_bar(position = "dodge") + 
  theme_bw() + geom_text(stat = "count", aes(label = after_stat(count)), position = position_dodge(width = 1), vjust = -1)


```
`{r echo=FALSE,warning=FALSE}
#图书馆
图书馆(GG2)
库(数据表)
图书馆(tidyr)
#读取数据
df=read.csv2(text=“File.Name | Created.Date | Last.Accessed | Visual.Group
60be1ba43bf7cjpg | 1989-11-17 06:25:22 | 2017-07-15 01:25:22 | 0
60be1ba43bf89jpg | 1989-02-04 04:03:16 | 2021-12-17 04:03:16 | 1
60be1ba43bf8djpg | 2017-04-22 14:57:13 | 2017-11-17 23:57:13 | 2
60be1ba43bf90jpg | 2021-04-12 23:03:44 | 2018-11-17 05:03:44 | 3
60be1ba43bf93jpg | 2019-08-2818:23:16 | 1989-09-0712:23:16 | 4
60be1ba43bf95jpg | 1989-09-11 08:16:20 | 2020-03-17 10:16:20 | 5
60be1ba43bf98jpg | 2018-08-01 16:56:05 | 2017-04-24 03:56:05 | 5
60be1ba43bf9bjpg | 2017-06-23 19:01:37 | 1989-07-14 22:01:37 | 6
60be1ba43bf9ejpg | 2018-02-20 15:21:26 | 2020-02-01 18:21:26 | 7
60be1ba43bfa1jpg | 2021-12-10 08:34:09 | 2021-04-17 02:34:09 | 8
60be1ba43bfa4jpg | 2017-01-02 19:03:10 | 1989-11-16 14:03:10 | 9
60be1ba43bfa6jpg | 2017-04-28 15:50:33 | 2019-02-22 06:50:33 | 9
60be1ba43bfd6jpg | 2018-04-14 22:21:37 | 2021-08-28 14:21:37 | 9
60be1ba43bfdajpg | 2019-07-15 04:31:04 | 2017-07-11 04:31:04 | 10
60be1ba43bfddjpg | 2020-11-06 01:06:25 | 1989-08-16 09:06:25 | 10
60be1ba43bfe0jpg | 2021-08-05 06:38:07 | 2021-12-25 15:38:07 | 11
60be1ba43bfe3jpg | 2017-01-14 03:47:54 | 2020-08-03 20:47:54 | 12
60be1ba43bfe6jpg | 1989-11-26 17:33:01 | 2018-11-07 22:33:01 | 13
60be1ba43bfe9jpg | 2018-09-21 07:17:29 | 1989-10-05 03:17:29 | 14
60be1ba43bfebjpg | 2017-03-13 09:42:04 | 2020-08-23 11:42:04 | 14
60be1ba43bfeejpg | 2020-07-18 08:36:52 | 2018-10-04 12:36:52 | 15
60be1ba43bff1jpg | 2021-01-21 05:20:29 | 2019-04-28 03:20:29 | 16
60be1ba43bff4jpg | 2018-10-19 08:13:24 | 1989-10-16 18:13:24 | 17
60be1ba43bff7jpg | 2017-06-15 07:49:44 | 2021-05-11 01:49:44 | 18
60be1ba43bff9jpg | 2019-05-23 23:41:20 | 2019-08-26 13:41:20 | 18
BE1BA43BFFCJPG | 1989-02-17 03:13:27 | 1989-11-20 16:13:27 | 19
60be1ba43bfffjpg | 2020-08-26 15:22:01 | 2018-08-21 17:22:01 | 20
60be1ba43c001jpg | 2020-12-21 05:22:03 | 2017-04-04 15:22:03 | 21
60be1ba43c004jpg | 2018-02-14 08:23:01 | 1989-03-26 06:23:01 | 21
60be1ba43c007jpg | 2018-10-25 08:19:18 | 2021-07-06 08:19:18 | 21
60be1ba43c00ajpg | 2017-11-28 07:22:03 | 2021-09-23 08:22:03 | 22
60be1ba43c00cjpg | 2019-11-19 17:12:02 | 2019-05-23 03:12:02 | 23
60be1ba43c00fjpg | 2017-02-26 00:43:21 | 2019-11-19 20:43:21 | 24
60be1ba43c012jpg | 2017-10-27 01:05:53 | 1989-03-14 02:05:53 | 25
60be1ba43c015jpg | 2019-06-18 08:06:07 | 1989-10-28 16:06:07 | 25
60be1ba43c017jpg | 2021-08-19 02:01:32 | 2020-05-28 03:01:32 | 25
60be1ba43c01ajpg | 2021-07-13 23:02:21 | 2017-07-05 03:02:21 | 25
60be1ba43c01djpg | 1989-05-14 02:51:23 | 2020-03-24 01:51:23 | 25
60be1ba43c020jpg | 2021-12-13 04:05:19 | 2021-04-16 03:05:19 | 25
60be1ba43c023jpg | 2019-03-26 23:42:25 | 2021-08-03 20:42:25 | 26
60be1ba43c025jpg | 1989-05-09 04:08:58 | 2019-10-23 00:08:58 | 26
60be1ba43c028jpg | 2018-08-11 00:48:32 | 2019-05-08 08:48:32 | 26
60be1ba43c02bjpg | 2018-07-14 08:38:02 | 2019-05-06 22:38:02 | 27
60BE1BA43C02JPG | 2020-03-06 19:13:14 | 2019-09-18 18:13:14 | 28
60be1ba43c030jpg | 1989-07-10 11:40:46 | 2019-08-03 01:40:46 | 28
60be1ba43c033jpg | 2021-12-11 02:23:44 | 2019-08-09 01:23:44 | 28
60be1ba43c036jpg | 2017-11-03 19:53:43 | 2021-02-13 17:53:43 | 29
60be1ba43c038jpg | 2017-02-07 02:45:47 | 2021-09-20 09:45:47 | 29
60be1ba43c03bjpg | 2020-07-28 20:56:59 | 2018-06-06 11:56:59 | 30
60be1ba43c040jpg | 2019-06-20 16:42:30 | 2020-01-02 00:42:30 | 31
60be1ba43c042jpg | 2020-05-27 03:39:41 | 2021-08-11 08:39:41 | 31
60be1ba43c045jpg | 2017-08-07 12:11:03 | 2017-12-15 20:11:03 | 32
60be1ba43c048jpg | 1989-04-2801:19:49 | 2019-08-1723:19:49 | 32
60be1ba43c04bjpg | 2017-08-26 22:07:51 | 2019-02-25 16:07:51 | 33
60be1ba43c04djpg | 1989-10-12 02:27:44 | 2020-11-10 22:27:44 | 34
60be1ba43c050jpg | 2021-08-18 09:01:48 | 2020-01-08 07:01:48 | 35
60be1ba43c053jpg | 2017-07-21 20:56:50 | 2018-02-24 20:56:50 | 36
60be1ba43c056jpg | 1989-05-13 11:23:09 | 2020-01-20 11:23:09 | 37
60be1ba43c058jpg | 2020-08-21 18:46:14 | 2017-04-14 10:46:14 | 37
60be1ba43c05bjpg | 2020-04-08 11:14:54 | 2020-12-02 00:14:54 | 38
60be1ba43c05ejpg | 2021-02-21 06:13:14 | 2018-08-21 03:13:14 | 38
60be1ba43c060jpg | 2018-06-28 04:36:20 | 2020-09-28 15:36:20 | 39
60be1ba43c063jpg | 2017-09-22 23:39:53 | 2021-05-27 20:39:53 | 39
60be1ba43c065jpg | 2018-05-09 16:54:13 | 2021-06-03 16:54:13 | 39
60be1ba43c068jpg | 2019-01-04 00:19:33 | 2017-05-18 08:19:33 | 40
60be1ba43c06bjpg | 2019-04-12 21:19:37 | 2017-06-23 04:19:37 | 40
60be1ba43c06ejpg | 2019-09-22 20:44:20 | 2021-10-23 12:44:20 | 40
60be1ba43c070jpg | 2021-10-23 07:57:35 | 2019-02-23 21:57:35 | 40
60be1ba43c073jpg | 2021-09-17 19:13:53 | 2020-05-27 06:13:53 | 40
60be1ba43c075jpg | 2017-08-13 23:06:53 | 2019-08-03 00:06:53 | 41
60be1ba43c078jpg | 2017-11-02 04:47:11 | 2018-07-05 03:47:11 | 42
60be1ba43c07bjpg | 2017-05-11 23:04:25 | 2021-09-22 04:04:25 | 42
60be1ba43c07ejpg | 2018-04-06 21:19:03 | 2021-09-16 21:19:03 | 42
60be1ba43c080jpg | 2019-03-16 01:56:36 | 2021-04-03 18:56:36 | 42
60be1ba43c083jpg | 2019-02-24 13:21:29 | 2019-10-28 09:21:29 | 43
60be1ba43c086jpg | 2020-03-08 10:50:00 | 2018-06-22 15:50:00 | 44
60be1ba43c088jpg | 1989-06-10 16:34:03 | 2020-11-10 18:34:03 | 45
60be1ba43c08bjpg | 2018-04-20 10:29:46 | 2021-01-24 08:29:46 | 46
60be1ba43c08ejpg | 2019-02-13 18:27:24 | 2021-10-16 07:27:24 | 47
60be1ba43c090jpg | 2019-09-16 21:54:43 | 2018-07-21 22:54:43 | 48
60be1ba43c094jpg | 2021-05-23 17:25:18 | 2019-06-18 00:25:18 | 49
60be1ba43c097jpg | 2020-09-15 06:42:26 | 2019-03-25 13:42:26 | 50
60BE1BA43C09JPG | 2020-05-02 20:14:35 | 2020-06-13 08:14:35 | 50
60be1ba43c09djpg | 1989-02-25 15:11:22 | 2017-08-28 03:11:22 | 51
60be1ba43c09fjpg | 2018-07-13 15:42:14 | 2019-02-23 14:42:14 | 52
60be1ba43c0a2jpg | 2020-09-09 08:58:49 | 2019-07-11 18:58:49 | 53
60be1ba43c0a4jpg | 1989-12-17 02:36:08 | 2021-10-04 10:36:08 | 54
60b
library(tidyverse)
df %>% 
  pivot_longer(cols = 2:3) %>% 
  mutate(value = as.Date(value)) %>% 
  count(name, value) %>% 
  mutate(year = lubridate::year(value)) %>% 
  ggplot(aes(x = value, n, color =name)) + 
   geom_point() +  
   geom_line() +
   scale_x_date(date_breaks = "3 month", date_labels = "%b") +
   facet_grid(~year, scales = "free") +
   theme_bw()