2016-01-23 27 views
1

Я использую следующую пару строк, чтобы произвести ниже участок из рядов двух 4X10 Матрицы d1 и d2 на одном графике:Сетка не совпадает с осью

plot(as.matrix(d1[2,]), as.matrix(d2[2,]), type="o", col="red", 
ann=FALSE, pch=17, log = 'y',lty=4, axes=FALSE, las=2) + 
lines(as.matrix(d1[1,]),as.matrix(d2[1,]), type="o", col="blue", 
ann=FALSE, pch=15, lty=4) 

x_axis_labels <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 
axis(1,labels = x_axis_labels, at = x_axis_labels) 
y_axis_labels <- c(3e+4, 6e+4,2e+5,3e+5, 6e+5, 2e+6,5e+6) 
axis(2,labels = y_axis_labels, at = y_axis_labels, las=2) 

grid() 

который производит следующее: enter image description here

Но мне нравится иметь сетку, чтобы начать с всех меток на каждой оси. В настоящий момент он начинается только с некоторых меток на оси x и не выравнивается ни с одной из ярлыков оси y.

+1

снабжающие соответствующие значения * * nx и ny ** аргумент функции ** grid() ** должны решить проблему. Я создал простой график, используя ** набор данных mtcars ** с этими строками 'с (mtcars, plot (mpg, disp)) сеткой (длина (mtcars $ mpg), length (mtcars $ disp))'. –

+0

См. '? Grid'. И давайте будем настоящими - 'ggplot2'. – alistaire

ответ

2

Это, вероятно, будет легче контролировать abline:

abline(v=x_axis_labels, h=y_axis_labels, lty=2, col='lightgray') 

Если вы хотите, чтобы линии сетки позади точек и т.д., то попробуйте panel.first аргумент plot:

plot(as.matrix(d1[2,]), as.matrix(d2[2,]), type="o", col="red", 
    ann=FALSE, pch=17, log = 'y',lty=4, axes=FALSE, las=2, 
    panel.first=abline(v=x_axis_labels, h=y_axis_labels, lty=2, col='lightgray')) 
+0

Удивительно! Благодарю. – user3639557

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