R中条形图的X轴

11

我想问一个关于条形图轴的问题:

首先,请查看我的数据。

SerNo   DOY Rain
1   350 0
2   351 0
3   352 0
4   353 0
5   354 0
6   355 0
7   356 0
8   357 0
9   358 0
10  359 0
11  360 0
12  361 0
13  362 0
14  363 0
15  364 0.7
16  365 2.7
17  1   0
18  2   0
19  3   0
20  4   2
21  5   0
22  6   0
23  7   0
24  8   0
25  9   0
26  10  0
27  11  0
28  12  0
29  13  0
30  14  0
31  15  0
32  16  0
33  17  1.8
34  18  0.8
35  19  10
36  20  0
37  21  0
38  22  0
39  23  0
40  24  0
41  25  0
42  26  0
43  27  0
44  28  0
45  29  0
46  30  6.5
47  31  0
48  32  0
49  33  0
50  34  0
51  35  0
52  36  5.8
53  37  0
54  38  0
55  39  0
56  40  0
57  41  0
58  42  0
59  43  0
60  44  0
61  45  0
62  46  2.9
63  47  0
64  48  0

DOY指一年中的第几天,1月1日是第1天,12月31日是第365/366天,Rain是当天的总降水量,由于这个时间跨越了一年的边界,我想绘制一个图表,其中x轴是DOY,y轴是雨量,但在使用条形图时,我无法将DOY与相应的雨量列匹配。

rainbar<-read.table("I:/example.txt",header=T)
rainbar
barplot(rainbar$Rain,axes=F,ylim=c(0,15))

length(rainbar$SerNo)
seq(1,length(rainbar$SerNo),1)
axis(2,seq(0,15,3),c(0,3,6,9,12,15))
axis(1,seq(1,length(rainbar$SerNo),1),rainbar$DOY)

结果看起来像这样,为什么这两个数据无法匹配在一起?即使我添加了一个名为SerNo的列,而基于SerNo的X轴仍然无法匹配相应的雨天,原因是什么?barplot函数如何定义自己的X轴?非常感谢。

enter image description here


嗨,你可能想看一下?par - Ricardo Saporta
1个回答

23

试试这个替代方案:

mp <- barplot(rainbar$Rain,axes=F,ylim=c(0,15))
axis(1,at=mp,labels=rainbar$DOY)
axis(2,seq(0,15,3),c(0,3,6,9,12,15))

阅读 ?barplot 可以看到函数调用返回的值是绘图坐标系中间点的向量。


1
谢谢DWin...你能告诉我mp的意思吗?我尝试了你的代码,很棒,但我不理解mp。 - TOPMAD
2
mp 只是 barplot 函数的结果。该函数返回用户坐标系中条形图的位置,特别用于绘图目的。请参阅 ?barplot 的“Value”部分。 - IRTFM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接