У меня есть следующий код в R:условной окраски в столбчатой графике в R
dat <- as.matrix(read.table(text ="2011 2012 2013 2014
A -330.2165 500.53 730.75 -130.0941
R 2036.32 1155.91 345.81 218.0350", header=TRUE))
pts <- pretty(c(min(dat),max(dat)))
barplot(dat,
ylim=c(min(pts),max(pts)),
col=c("mediumvioletred","midnightblue"),
legend.text=c("Appropriation","Receipts"),
args.legend = list(x="topleft", bty="n"))
Проблема заключается в том, что все присвоения (A) значения должны быть «mediumvioletred», в то время как все значения квитанции (R) должен быть «midnightblue». Вместо этого происходит то, что, если значения A отрицательные, они также окрашены «midnightblue».
Кто-нибудь знает, как это исправить? Или, по крайней мере, указать цвет для каждой точки?
Я нашел множество решений по окрашиванию в гистограммах, но не сложенными гистограммами. Это сообщение пришло так близко: Conditional Barchart coloring with a vector in R, но все равно не решило мою проблему.