我的情节的y值不正确。
data <- read.xlsx('filename')
data <- melt(data)
data$dvmph <- as.numeric(as.character(data$dvmph))
ggplot(data, aes(x=variable, y = dvmph,
fill=value)) + geom_col() + coord_polar() + labs(x="PDOF", y="dvmph") + scale_fill_gradient(low='khaki',high='red')
如你所见,该图的最大dvmph为500--但实际的最大dvmph为49.这是一个数据样本:
> data
dvmph variable value
1 1 X0 0.00
2 3 X0 2486.60
3 5 X0 100519.29
4 7 X0 471515.00
5 9 X0 973180.19
6 11 X0 758789.62
7 13 X0 500884.34
8 15 X0 441252.43
9 17 X0 228094.07
10 19 X0 358144.00
11 21 X0 173614.35
12 23 X0 73395.79
13 25 X0 79245.32
14 27 X0 59789.64
15 29 X0 35539.05
...
814 17 X350 116754.15
815 19 X350 173989.62
816 21 X350 76056.33
817 23 X350 32374.60
818 25 X350 26640.38
819 27 X350 34852.71
820 29 X350 11826.09
821 31 X350 7499.55
822 33 X350 4713.12
823 35 X350 4981.18
824 37 X350 5845.43
825 39 X350 2250.77
826 41 X350 2111.73
827 43 X350 1179.72
828 49 X350 5936.01
> max(data$dvmph)
[1] 49
我不太确定是什么导致了这一点。我认为这与geom_col()
有关,因为当我使用geom_tile()
时,情节看起来是正确的(即y轴终止于50)。但出于审美原因,我无法使用geom_tile()
(使用geom_tile()
而不是geom_col()
时,我的数据中存在差距更明显。)