Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R根据单条形图绘制多条直线图(3)_R_Plot - Fatal编程技术网

R根据单条形图绘制多条直线图(3)

R根据单条形图绘制多条直线图(3),r,plot,R,Plot,我试图在一个条形图上绘制多个线条图(在本例中,它是分组的,但不一定要这样),但在以奇怪的方式调整左y轴大小时遇到了一些问题。当有两条线时,它看起来是正常的,但是当有更多的线时,它会将轴向外延伸,因此比例是错误的,并且不会与条对齐 我需要以这样一种情况结束:我可以自定义左右y轴上的标签,因此在代码底部使用轴。在实际的实现中,我将动态地在左侧使用“M”表示百万,在左侧使用“K”表示千,在右侧使用“%” 任何帮助都将不胜感激 x = c("a","b","c","d") y= cbind(c(50,

我试图在一个条形图上绘制多个线条图(在本例中,它是分组的,但不一定要这样),但在以奇怪的方式调整左y轴大小时遇到了一些问题。当有两条线时,它看起来是正常的,但是当有更多的线时,它会将轴向外延伸,因此比例是错误的,并且不会与条对齐

我需要以这样一种情况结束:我可以自定义左右y轴上的标签,因此在代码底部使用
轴。在实际的实现中,我将动态地在左侧使用“M”表示百万,在左侧使用“K”表示千,在右侧使用“%”

任何帮助都将不胜感激

x = c("a","b","c","d") 
y= cbind(c(50,40,30,20), c(40,30,20,10)) 
y2 = c(0.80,0.65,0.75,0.50)
y3 = c(0.30,0.20,0.50,0.60)
y4 = c(0.20,0.30,0.40,0.45) 
#
par(mar=c(5,8,3,5))
bp <- barplot(t(y), beside=TRUE, las=1, names.arg=x, axes=TRUE, ylim=c(0,max(y)+10),         labels=c("0","10 M","20 M","30 M","40 M","50 M","60 M")) 
xlim <- c(floor(min(bp)), ceiling(max(bp))) 
# 
par(new=T) 
plot(colMeans(bp), y2, type="o", col="black", lwd=3, lty=1, xaxt="n", yaxt="n", xlab="",   ylab="", xlim = xlim) 
points(colMeans(bp), y2, pch=20)

par(new=T) 
plot(colMeans(bp), y3, type="o", col="red", lwd=3, lty=1, xaxt="n", yaxt="n", xlab="",   ylab="", xlim = xlim) 
points(colMeans(bp), y3, pch=20)

par(new=T) 
plot(colMeans(bp), y4, type="o", col="red", lwd=3, lty=1, xaxt="n", yaxt="n", xlab="", ylab="", xlim = xlim) 
points(colMeans(bp), y4, pch=20)

axis(side=2,  at=c(0,0.10,0.20,0.30,0.40,0.50,0.60), labels=c("0","10 M","20 M","30 M","40 M","50 M","60 M"), las=1, pos=0.555)
axis(side=4, pretty(c(0,max(y2))), ylim=c(0,max(y2)), col='black', ylab='', las=1 )
x=c(“a”、“b”、“c”、“d”)
y=cbind(c(50,40,30,20),c(40,30,20,10))
y2=c(0.80,0.65,0.75,0.50)
y3=c(0.30,0.20,0.50,0.60)
y4=c(0.20,0.30,0.40,0.45)
#
par(mar=c(5,8,3,5))

bp第二行和第三行可以使用
lines()
参数,一切正常。下面是第三行的示例:

#par(new=T) 
lines(colMeans(bp), y4, type="o", col="red", lwd=3, lty=1) 
points(colMeans(bp), y4, pch=20)

根据第一次调用
条形图时使用的
标签,此处会出现警告。您应该在代码中修复此问题。