旁边=F未在R子批次的条形图中工作

旁边=F未在R子批次的条形图中工作,r,plot,rworldmap,R,Plot,Rworldmap,我正在尝试根据此页面上的代码制作堆叠条形图: 但下面包含next=FALSE的代码仍然并排绘制条形图,而不是堆叠条形图 ddf = read.table(header=T, sep=",", text=" country, val1, val2, val3 Nigeria,5,10,8 China,8,12,20 Brazil,15,9,20 Italy,9,25,5 Australia,15,5,25 ") require (rworldmap) sPDF <- joinCountr

我正在尝试根据此页面上的代码制作堆叠条形图:

但下面包含next=FALSE的代码仍然并排绘制条形图,而不是堆叠条形图

ddf = read.table(header=T, sep=",", text="
country, val1, val2, val3
Nigeria,5,10,8
China,8,12,20
Brazil,15,9,20
Italy,9,25,5
Australia,15,5,25
")

require (rworldmap)

sPDF <- joinCountryData2Map(ddf
    , joinCode = "NAME"
    , nameJoinColumn = "country"
    , verbose = TRUE)


plot(getMap())
df <- merge(x=ddf, y=sPDF@data[sPDF@data$ADMIN, c("ADMIN", "LON", "LAT")], by.x="country", by.y="ADMIN", all.x=TRUE)
require(TeachingDemos)
for (i in 1:nrow(df)) 
  subplot(barplot(height=as.numeric(as.character(unlist(df[i, 2:4], use.names=F))), 
                  axes=F, beside=FALSE,
                  col=rainbow(3), ylim=range(df[,2:4])),
          x=df[i, 'LON'], y=df[i, 'LAT'], size=c(.3, .3))
legend("topright", legend=names(df[, 2:4]), fill=rainbow(3))
ddf=read.table(header=T,sep=“,”,text=)
国家,val1,val2,val3
尼日利亚,5,10,8
中国,8,12,20
巴西,15,9,20
意大利,9,25,5
澳大利亚,15,5,25
")
require(rworldmap)

sPDF为了使除此之外的功能正常工作,
hight
必须是一个具有1列的矩阵。因此,请尝试:

plot(getMap())
df <- merge(x=ddf, y=sPDF@data[sPDF@data$ADMIN, c("ADMIN", "LON", "LAT")], by.x="country", by.y="ADMIN", all.x=TRUE)
require(TeachingDemos)
for (i in 1:nrow(df))
  height <- matrix(as.numeric(as.character(unlist(df[i, 2:4], use.names=F))), ncol=1)
  subplot(barplot(height=height, 
                  axes=F, beside=FALSE,
                  col=rainbow(3), ylim=range(df[,2:4])),
          x=df[i, 'LON'], y=df[i, 'LAT'], size=c(.3, .3))
legend("topright", legend=names(df[, 2:4]), fill=rainbow(3))
plot(getMap())

是的,它很有效。谢谢高度