我创建了一个条形图,其中包含我在特定时间内收集的多个数据点因子。现在,我希望随着时间的推移在条形图中说明这些数据。因此,我定义了以下命令并获得了以下图表。这是数据。
Zeitpunkt 20.05.2016 27.05.2016 03.06.2016 10.06.2016 17.06.2016 24.06.2016 01.07.2016 08.07.2016 15.07.2016 22.07.2016 28.07.2016
Innoplattform 1,725806452 2,633333333 3,689655172 2,2 2,846153846 2,571428571 2,884615385 2,131578947 1,954545455 2,956521739 2
WhatsApp 5,548387097 5,533333333 5,775862069 5,96 6,288461538 4,69047619 5,076923077 5,394736842 5,204545455 6,347826087 5,909090909
Skype 0,483870968 1,133333333 1,310344828 1,1 1,346153846 0,261904762 0,480769231 0,526315789 0,545454545 1,369565217 0,659090909
Adobe Connect 0 0,083333333 0 0 0 0 0 0,052631579 0,272727273 0,086956522 0
Facebook 0 0 0,189655172 0,04 0 0 0 0 0 0 0
Telefon 1,064516129 0,983333333 0,706896552 0,6 1,519230769 0,166666667 0,115384615 0,368421053 0,409090909 0,347826087 0,227272727
E-Mail 0 1,166666667 1 0,7 1,711538462 0,452380952 0,942307692 0,236842105 1,022727273 2,413043478 2,090909091
数据也通过链接提供.csv文件:
https://www.dropbox.com/s/o3jgwk76lx3v0i5/Verwendete%20Tools2.csv?dl=0
基于这些数据,我将数据定义为数据帧以创建条形图。因此是以下命令。
Tools <- read.csv(file="Verwendete Tools2.csv", header = TRUE, sep = ";", dec=",")
attach(Tools) # Datensatz Tools laden
df <- data.frame(X01.07.2016, X03.06.2016, X08.07.2016, X10.06.2016, X15.07.2016, X17.06.2016, X20.05.2016, X22.07.2016, X24.06.2016, X27.05.2016, X28.07.2016)
barplot(as.matrix(df), main="Relative Häufigkeit der für die virtuelle Kommunikation genutzten Tools", ylab = "Relative Häufigkeit", xlab="Zeitpunkte der Umfragen", cex.lab = 1.5, cex.main = 1.4, beside=TRUE, col=c(1, 2, 3, 4, 5, 6, 7))
现在这有什么问题?通常这正是我想要得到的图表。但问题是,x轴上的日期不按日期排序。 R只是将日期标识为正常数字而不是日期..但是当我将这些数据点转换为日期时,我还将其他数据点转换为日期,这是我不想要的。
有人可以帮助我,我如何在图表中对这些日期进行排序?或者是否有其他解决方案如何创建此图表?
非常感谢!
答案 0 :(得分:0)
你可以做到
download.file("https://www.dropbox.com/s/o3jgwk76lx3v0i5/Verwendete%20Tools2.csv?dl=1",
tf <- tempfile(fileext = ".csv"), mode="wb")
Tools <- read.csv(file=tf, header = TRUE, sep = ";", dec=",", check.names = F)
m <- as.matrix(Tools[-1])
barplot(m, beside=TRUE, col=seq_len(nrow(m)))
列已在数据框Tools
中排序。
假设情况并非如此
m <- m[,sample(seq_along(colnames(m)))] # shuffle columns
barplot(m, beside=TRUE, col=seq_len(nrow(m)))
你仍然可以
m <- m[, order(as.Date(colnames(m), "%d.%m.%Y"))] # order by date
barplot(m, beside=TRUE, col=seq_len(nrow(m)))