2016-01-23 2 views
0

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

plot(as.matrix(d1[2,]), as.matrix(d2[2,]), type="o", col="red", ann=FALSE) + 
lines(as.matrix(d1[1,]),as.matrix(d2[1,]), type="o", col="blue", ann=FALSE) 

Который производит следующий сюжет:

enter image description here

Теперь я хочу внести некоторые изменения, которые я до сих пор не смог сделать:

1) Измените ось y на логарифмическую шкалу. Я не могу найти тип шкалы scale_y_log (существует в ggplot) в участок функция.

2) Измените символы данных для каждого линейного графика, чтобы быть разными (в настоящий момент они являются кругом). Я попытался передать параметр параметра pch, но это изменяет настройки для всех строк.

3) Наложение собственных интервалов на ось х. Например, вместо 0,2,4,6,8 иметь 0,0,5,1,5,2, 3, 4, 5, 10. Я попытался найти что-то похожее на ggplotscale_x_continuous (breaks = c (0,0.5) , 1,5,2, 3, 4, 5, 10)), но ничего не нашел.

ответ

1

Вот пример, который вы можете адаптировать для данных

x_axis_labels <- c(0,0.5,1.5,2, 3, 4, 5, 10.)  # The x-axis labels you provided 
plot(1:10, exp(c(1:10)), log = 'y', pch = 24)  # Plot of sample data, making y-axis log scale, and change points to triangles. 
axis(1,labels = x_axis_labels, at = x_axis_labels) # Changing the x-axis labels 

выше не использует матрицу, однако, казалось, некоторые из основных вопроса вы имеете это с log сюжетом и изменяя точечный тип.

enter image description here

+0

Спасибо. Сюжет не отражает новые ярлыки. Есть ли способ использовать log10 вместо loge при масштабировании? – user3639557

+0

@ user3639557 Я исправил проблему, я загрузил неправильный jpeg. Это должно быть исправлено немедленно. Используете ли вы 'log (x, base = exp (1))' или 'log (x, base = 10)', значения y будут отличаться только константой. Какой результат вы ищете? Если вместо этого вы используете 'plot (x, 10^c (1:10), log = 'y', pch = 24)', вы увидите изменения значений оси y, но форма данных останется неизменной. – steveb