gpt4 book ai didi

r - 在 R 中的不同 Y 轴上向条形图添加线条

转载 作者:行者123 更新时间:2023-12-04 12:37:52 26 4
gpt4 key购买 nike

我有以下简单数据。我希望将“V”与 D1,D2,D3 值绘制为并排条形图,将累积总和 CS1,CS2,CS3 绘制为线条,并以不同的 Y 比例绘制。虽然绘制并排条形图相对容易,如 First Figure 所示。我发现很难为 CS1-CS3 列添加线图。最终的情节看起来像 Second Figure感谢您的帮助

V   D1  D2  D3  CS1 CS2 CS3
10 2038 1806 1643 72.81171847 64.52304394 58.69953555
20 550 709 757 92.46159343 89.85351911 85.7449089
30 142 192 271 97.53483387 96.71311183 95.42693819
40 45 61 80 99.14255091 98.89246159 98.28510182
50 12 20 30 99.57127546 99.6070025 99.35691318
60 5 6 10 99.74991068 99.82136477 99.71418364
70 2 2 3 99.82136477 99.89281886 99.82136477
80 4 1 2 99.96427295 99.92854591 99.89281886
90 1 0 1 100.0000000 99.92854591 99.92854591
100 0 1 0 100.0000000 99.96427295 99.92854591

最佳答案

首先,您需要绘制条形图并将其保存为对象。该对象包含条形的 x 坐标。由于最大值为 39.5,我设置了 xlim=c(0,40).

mp<-barplot(as.matrix(t(df[,2:4])),beside=TRUE,xlim=c(0,40),ann=FALSE)
mp
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1.5 5.5 9.5 13.5 17.5 21.5 25.5 29.5 33.5 37.5
[2,] 2.5 6.5 10.5 14.5 18.5 22.5 26.5 30.5 34.5 38.5
[3,] 3.5 7.5 11.5 15.5 19.5 23.5 27.5 31.5 35.5 39.5

要添加新绘图,请使用 par(new=TRUE)。然后为第一行添加 plot(),为其他行添加 lines()。由于新绘图的 x 值使用第二行 mp 对象(中间条)。用于设置轴刻度的函数axis()

par(new=TRUE)
plot(mp[2,],df$CS1,xlim=c(0,40),type="l",col="red",axes=FALSE,ylim=c(0,100),ann=FALSE)
lines(mp[2,],df$CS2,col="blue")
lines(mp[2,],df$CS3,col="green")
axis(1,at=mp[2,],labels=df$V)
axis(4,at=seq(0,100,10))
box()

enter image description here

关于r - 在 R 中的不同 Y 轴上向条形图添加线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15277712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com