Снятие легенды «Заполнить прямоугольник» - PullRequest
0 голосов
/ 13 мая 2018
par(mar=c(10.1,4.1,4.1,8.1), xpd =TRUE)
barplot(cp_ct2, beside = TRUE, col = c("darkblue","darkcyan"),las =2)

legend("topright",inset = c(-0.6,0), legend = c("Slight","Serious","",
                                            "Chi2: 226","P.Val:0.000"),
fill = c("darkblue","darkcyan"))

По сути, этот сюжет производит 5 прямоугольных коробок в моей легенде. Где я хочу только два. При выполнении этого кода цвета темно-синий и темно-синий заполняют каждый квадрат. Мне нужно лишь заполнить факторы '' незначительный '' '' серьезный '' и отсутствие значения chi-pvalue в прямоугольниках.

Есть идеи?

1 Ответ

0 голосов
/ 13 мая 2018

Вы можете опустить объекты из легенды, используя NA вместо заливки / цвета и т. Д.

Итак, для вашего примера:

legend("topright", 
       legend = c("Slight","Serious","","Chi2: 226","P.Val:0.000"),
       fill = c( "darkblue","darkcyan",NA, NA, NA), 
       border= c( "darkblue","darkcyan", NA, NA, NA ))

В этом случае может быть лучше / проще использовать функцию text для добавления дополнительной статистики, а не для принудительного ее добавления к легенде.

Аналогичный пример,

par(xpd =TRUE)
cp_ct2 <- with(mtcars, table(vs, am))
X <- chisq.test(cp_ct2)

barplot(cp_ct2, beside = TRUE, col = c("darkblue","darkcyan"),las=1)

legend("topright", 
       legend = c("Slight","Serious"),
       fill = c( "darkblue","darkcyan"), 
       border= c( "darkblue","darkcyan"))

# add text to margin
mtext(side=1, line=3, substitute(chi^2==x~';'~~p==y, 
                                list(x=round(X$statistic, 2), y=round(X$p.value, 3))))
...