2011-11-19 9 views

risposta

11

I pch personaggi sono simboli di carattere reale, in modo da essere limitati a ciò che è disponibile nel vostro font. Un'altra alternativa è usare i comandi di tracciamento primitivi per creare i propri "simboli". Questo è molto flessibile, anche se possono esserci problemi con il ridimensionamento, ecc., Quando si mescolano i due metodi. Questo metodo è implementato nel bel my.symbols() esempio:

require(TeachingDemos) 

bwDiamond <- function() { 
    plot.new() 
    polygon(c(0, 0.5, 1, 0.5, 0), c(0.5, 0, 0.5, 1, 0.5), lty=1) 
    polygon(c(0.25, 0.5, 1, 0.75, 0.25), c(0.25, 0, 0.5, 0.75, 0.25), col=1) 
} 

data <- c(1,2,3) 

dev.new(width=4, height=4) 
plot(data, type='n') 
points(data[1:2], pch=c(23,18), cex=c(2.5,3)) 
my.symbols(data[3], data[3], symb=bwDiamond, symb.plots=TRUE, inches=0.22) 

enter image description here

Vedi anche questo Q/A: Point symbols in R

+0

Perfetto, vi ringrazio @ John. Tuttavia, posso vedere come funziona molto bene con i poligoni, ma come gestiresti i punti circolari pieni di mezzo colore? –

+0

@GeekOnAcid Heh ... buon punto. Immagino che potresti fingere come un poligono, ma sarebbe bello se ci fosse un modo per farlo con solo 3 ancore. Non ne conosco uno però. –

1

@JohnColby: Ok, ecco un modo per disegnare un cerchio mezzo di colore punto, utilizzando grid.semicircle dal pacchetto lodplot. Non è tale soluzione ordinata, come la vostra con i poligoni, ma non il lavoro:

require(lodplot) 
dev.new(width=4,height=4) 
plot(1:3,type="n") 
grid.semicircle(100,150,10,5)#left circle on plot below 
grid.semicircle(100,150,10,5,side=3,col=1) 
grid.semicircle(200,150,10,5,side=2)#right circle on plot below 
grid.semicircle(200,150,10,5,side=4,col=1) 

Half-circles plot example

+0

Bella scoperta! Questa funzione semicerchio tornerà utile. –

Problemi correlati