ggplot2 - 如何在玫瑰图中不显示零值

ggplot2 - how to not display zero value in rose diagram

我正在将值从 .csv 加载到 R,其中包含以下数据:

   Time   Way       Data1
1     0 Type1   0,0586865
2     1 Type1  0,05674993
3     2 Type1 0,067387033
4     3 Type1 0,064299747
5     4 Type1  0,06241931
6     5 Type1 0,070333988
7     6 Type1  0,07956778
8     7 Type1 0,066797642
9     8 Type1 0,061015998
10    9 Type1 0,050463093
11   10 Type1 0,037412293
12   11 Type1 0,023323042
13   12 Type1 0,021975863
14   13 Type1 0,011787819
15   14 Type1 0,014201516
16   15 Type1 0,023351109
17   16 Type1 0,034689868
18   17 Type1 0,035812518
19   18 Type1 0,034100477
20   19 Type1 0,022312658
21   20 Type1 0,015239966
22   21 Type1 0,017204603
23   22 Type1 0,031209655
24   23 Type1 0,039657592
25    0 Type2        0,01
26    1 Type2        0,02
27    2 Type2           0
28    3 Type2        0,01
29    4 Type2        0,01
30    5 Type2           0
31    6 Type2           0
32    7 Type2           0
33    8 Type2        0,02
34    9 Type2           0
35   10 Type2           0
36   11 Type2        0,01
37   12 Type2           0
38   13 Type2        0,01
39   14 Type2           0
40   15 Type2        0,02
41   16 Type2           0
42   17 Type2        0,01
43   18 Type2           0
44   19 Type2           0
45   20 Type2           0
46   21 Type2        0,01
47   22 Type2           0
48   23 Type2           0

如您所见,Type2 中的某些值的值为 0。当我使用此数据显示玫瑰图时,它显示了不应该的零值。

下图link显示输出:http://i61.tinypic.com/b81lvq.png

我的代码是:

library(ggplot2)

nameOfDataExcel <- file.path(path, "data.csv")

data <- read.csv(file=nameOfDataExcel,head=TRUE,sep=";")

cols <- c("red","blue") 

p<-ggplot(data, aes(x = data$Time, y=data$Data1, fill=data$Way)) + 
geom_bar(breaks = seq(0,24), width = 1, colour="black", stat = "identity") +
scale_fill_manual(values = cols) +
theme_minimal() +  coord_polar(theta = "x") +
scale_x_continuous("", breaks = seq(0, 24), labels = seq(0,24))

p

如何忽略零值,使它们不显示在图表中?

我怀疑是因为文件在加载时用逗号 (,) 分隔数字,因此无法正确读取数据。当我用 . 替换逗号并导入时,我的绘图没有为 0.

绘制的值

尝试使用 readr 优雅地处理带有逗号数字分隔符的文件:

install.packages("readr")
require("readr")
data <- read_csv2("~/Desktop/data.csv")

假设您的文件不是用逗号(可能是分号)分隔的。你应该得到:

您的问题是您的小数点分隔符是句号。 Base R read.* 函数可以通过 dec 参数处理这个问题。

特别是,read.csv2read.delim2 dec 的默认参数是 ,

或者,类似

read.table("file1.txt", dec=",", sep="\t")

应该可以解决问题。