2009-09-08 9 views
19

Ho una trama() che sto cercando di fare, ma non voglio che i valori x siano usati come etichette dell'asse ... Voglio un vettore di caratteri diverso che voglio usare come etichette, in il modo standard: usa il numero che si adatta, lascia gli altri, ecc. Cosa devo passare a plot() per farlo accadere?Come si imposta quale trama() etichetta l'asse x con?

Ad esempio, si consideri

d <- data.frame(x=1:5,y=10:15,x.names=c('a','b','c','d','e')) 

In barplot, passavo barplot(height=d$y,names.arg=d$x.names), ma in questo caso i reali valori x sono importanti. Quindi mi piacerebbe un analogo come plot(x=d$x,y=d$y,type='l',names.arg=d$x.names), ma questo non funziona.

+0

possibile duplicato di [R: Sostituisci asse X con i propri valori] (http://stackoverflow.com/questions/5182238/r-replace-x-axis-with-own-values) –

risposta

47

penso che si desidera eliminare prima le etichette sull'asse x con il xaxt = "n" opzione:

plot(flow~factor(month),xlab="Month",ylab="Total Flow per Month",ylim=c(0,55000), xaxt="n") 

quindi utilizzare il comando dell'asse di aggiungere le proprie etichette. Questo esempio presuppone le etichette sono in un oggetto chiamato month.name

axis(1, at=1:12, labels=month.name) 

ho dovuto cercare come fare questo e I stole the example from here.

+12

Per quelli che don ' so: month.name è una costante incorporata contenente "Gennaio", "Febbraio", ..., "Dicembre". Allo stesso modo month.abb dà "Jan", ..., "Dec". –

+0

Non sapevo che Richie. Grazie! –

+0

grazie! questo ha funzionato per me; dovrebbe essere contrassegnato come risposta, no? – Sameer

Problemi correlati