2015-05-15 28 views
17

Ho eliminato le etichette sull'asse y perché solo la quantità relativa è davvero importante.Nel grafico di base R, spostare l'etichetta dell'asse più vicino all'asse

w <- c(34170,24911,20323,14290,9605,7803,7113,6031,5140,4469) 
plot(1:length(w), w, type="b", xlab="Number of clusters", 
    ylab="Within-cluster variance", 
    main="K=5 eliminates most of the within-cluster variance", 
    cex.main=1.5, 
    cex.lab=1.2, 
    font.main=20, 
    yaxt='n',lab=c(length(w),5,7), # no ticks on y axis, all ticks on x 
    family="Calibri Light") 

cluster plot

Tuttavia, sopprimendo le etichette delle tacche lascia molto spazio vuoto tra l'etichetta dell'asse y ("varianza Da-cluster") e l'asse y. C'è un modo per spingerlo di nuovo? Se in qualche modo ho impostato le etichette (invisibili) per andare all'interno dell'asse, l'etichetta dell'asse si depositerà lungo l'asse?

+3

provare a lasciare 'ylab' di' plot' e la messa in 'fuori asse' invece con qualche opzione collocazione. (Non riesco a ricordare le opzioni a mano libera.) I.e., trama (...); asse (2, ...) ' –

risposta

27

Provare a impostare ylab="" nella chiamata plot e utilizzare title per impostare manualmente l'etichetta dell'asse y. Utilizzando line si potrebbe regolare la posizione dell'etichetta, ad es .:

plot(1:length(w), w, type="b", xlab="Number of clusters", ylab="", 
    main="K=5 eliminates most of the within-cluster variance", 
    cex.main=1.5, 
    cex.lab=1.2, 
    font.main=20, 
    yaxt='n',lab=c(length(w),5,7), # no ticks on y axis, all ticks on x 
    family="Calibri Light") 

title(ylab="Within-cluster variance", line=0, cex.lab=1.2, family="Calibri Light") 

enter image description here

Si prega di leggere ?title per maggiori dettagli.

+2

Ah uomo, stavo per pubblicare questa cosa esatta. Ho scritto tutto, ma stavo cercando di capire perché R su Windows non mi permetteva di cambiare il font. Comunque, bel lavoro. –

+0

@sgibb grazie mille per avermi insegnato che 'title' può essere usato per le etichette (non solo per impostare' main'). Ho finito con due dichiarazioni 'title', una per sfalsare' ylab' di 'line = 1' e una per ottenere' xlab' un po 'più vicino a 'line = 2.2'. Molto apprezzato. – C8H10N4O2

17

Regolare mgp, vedere ?par

title(ylab="Within-cluster variance", mgp=c(1,1,0), family="Calibri Light",cex.lab=1.2) 

enter image description here