2010-09-17 2 views
5

В функции точек имеется 25 символов, определяемых параметром «pch».Точечные символы в R

Как я могу сделать больше, чем эти 25 символов

Благодаря

+0

это не ответит на ваш вопрос, но если по какой-то причине вам нужно построить> 25 символов, начните раскрашивать их, чтобы увеличить разнесение. – Dave

+4

Если вам нужно больше 25 символов в сюжете, вам нужно переосмыслить свою проблему. – John

ответ

1

Вы просто не можете ... осуществляется только этот набор. Некоторым вариантом является использование символьных векторов (например, pch=c('a','b','c')), чтобы получить очки, отмеченные a s, b s, ... - это расширяет набор до 60 (с цифрами), но выглядит не слишком хорошо.

2

Вы можете использовать основные функции построения и рисования, чтобы разработать собственные символы. Используйте «линии» или «сегменты» для рисования линий и «полигона» для заполненных областей. Таким образом, вы могли бы иметь функцию, называемую «littleHouse», который принимает х, у, для центра и ш и ч для ширины и высоты, то вы могли бы сделать что-то вроде:

for(i in 1:nrows(data)){ 
di = data[i,] 
littleHouse(di$x,di$y,di$w,di$h) 
} 

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

8

Вы можете увидеть все варианты для данного шрифта, используя код, как:

plot(0:15, 0:15, type='n') 
points((0:255)%% 16, (0:255) %/% 16, pch=0:255, font=5) 

Измените шрифт = на разные номера для разных вариантов. Есть еще пара опций, использующих функцию символов. Если вы хотите еще больше, проверьте функцию my.symbols в пакете TeachingDemos (я являюсь автором my.symbols и большей частью пакета TeachingDemos). Уже доступно несколько символов, и это дает возможность создавать собственные пользовательские символы, поэтому на самом деле нет предела.

+0

авторство раскрытие пожалуйста: p – MichaelChirico

+0

@MichaelChirico, вы имеете в виду код с 'plot' и' points'? Если да, то кто, по вашему мнению, заслуживает авторства? Я полностью признаю, что я не первый, кто придумал вышеприведенный код, но я не знаю, кто придумал это сначала или ссылку, будет рад включить их, если вы можете указать на это. Или вы хотите, чтобы я признал, что я являюсь автором 'my.symbols' и пакета TeachingDemos? –

+0

nono, только последний ;-) – MichaelChirico

Смежные вопросы