我在制作一个有两条曲线重叠的简单情节时面临困难。 x轴上的变量代表周数,因此我希望按照数据框figU5MR
figU5MR
Week U5MR CMR fWeek cWeek
1 51 0.9 0.2 51 51
2 52 0.2 0.2 52 52
3 53 0.0 0.0 53 53
4 1 0.0 0.0 1 1
5 2 0.5 0.1 2 2
6 3 0.2 0.0 3 3
7 4 0.6 0.2 4 4
8 5 0.2 0.2 5 5
9 6 0.2 0.1 6 6
10 7 0.2 0.0 7 7
11 8 0.1 0.0 8 8
12 9 0.1 0.0 9 9
13 10 0.0 0.1 10 10
14 11 0.0 0.0 11 11
15 12 0.1 0.1 12 12
16 13 0.0 0.0 13 13
17 14 0.2 0.1 14 14
18 15 0.1 0.0 15 15
19 16 0.3 0.1 16 16
20 17 0.3 0.1 17 17
21 18 0.1 0.1 18 18
22 19 0.3 0.1 19 19
23 20 0.1 0.0 20 20
为此,我首先创建了一个有序因子fWeek
。要绘制数据,我只需使用以下似乎基本的:
plot( x=fWeek, y=U5MR, pch=24, cex=2,type="b", xlab="Weeks", xlim=c(-0.02,1.2), ylab="Death/10'000/day", main="Mortality rates per week", axes=F)
plot(x=fWeek,y=CMR,pch=19, cex=1.8,lty=1,type="o", gap=0, sfrac=0.005, axes=T, add=TRUE)
为了避免这种情况,我还尝试将Week
转换为字符cWeek
:然后输出效果更好,但我的周数正确无法排序......
有没有人知道如何获得我周的正确排序(如图1所示,同时保持符号的漂亮外观,如图2所示?对不起,我知道这是基本但我无法得到我的希望,经过几个小时搜索.. 谢谢!
答案 0 :(得分:2)
打印输出让我觉得您附加了一个数据框。附加数据帧是一个不错的想法。而是学习使用Laravel
,它们允许你抓取数值化的rownames(假设你还没有放置字符值)。也可以使用with
来获取传递给1:nrow(dfrm)
的数字序列:
y
将轴添加回:
with(dfrm, plot( x=as.numeric(rownames(dfrm)), y=U5MR, pch=24, cex=2,type="b",
xlab="Weeks", ylab="Death/10'000/day", main="Mortality rates per week",
xaxt="n"))