Подтвердить что ты не робот

R legend pch сочетание символов и числовых

Можно ли использовать сочетание символа и числа в виде графических символов в легенде R?

plot(x=c(2,4,8),y=c(5,4,2),pch=16)
points(x=c(3,5),y=c(2,4),pch="+")
legend(7,4.5,pch=c("+",16),legend=c("A","B")) #This is the problem
4b9b3361

Ответ 1

Моя первая мысль состоит в том, чтобы нанести надпись дважды, один раз, чтобы напечатать символы символа и один раз напечатать числовые:

plot(x=c(2,4,8),y=c(5,4,2),pch=16)
points(x=c(3,5),y=c(2,4),pch="+")
legend(7,4.5,pch=c(NA,16),legend=c("A","B")) # NA means don't plot pt. character 
legend(7,4.5,pch=c("+",NA),legend=c("A","B"))

ПРИМЕЧАНИЕ.. Как ни странно, это работает в собственном графическом устройстве R (в Windows) и в pdf(), но не в устройствах bmp() или png()...

enter image description here

Ответ 2

Используйте числовой эквивалент символа "+":

plot(x=c(2,4,8),y=c(5,4,2),pch=16)
points(x=c(3,5),y=c(2,4),pch="+")
legend(7,4.5,pch=c(43,16),legend=c("A","B"))

Ответ 3

Существуют фактически числовые эквиваленты для всех символов!

введите описание изображения здесь

Источник: Дейв Робертс

Код pch представляет собой сумму координат Y и X приведенного выше графика.

  • Например, символ + находится в строке (Y) 4 и столбце (X) 3 и поэтому может быть нарисован с использованием pch = 43.

Пример:

plot(x=c(2,4,8),y=c(5,4,2),pch=16)
points(x=c(3,5),y=c(2,4),pch="+")
legend(7,4.5,pch=c(43,16),legend=c("A","B"))

Ответ 4

Я столкнулся с этим вопросом несколько раз, поэтому я написал крошечную функцию ниже. Вы можете использовать для указания значения pch, например.

pch=c(15:17,s2n("|"))

String to Numeric