2016-01-23 46 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類型的東西(存在於ggplotplot函數。

2)更改每個線圖的數據點符號不同(目前它們都是圓形)。我試圖通過參數的pch,但這改變了所有行的內容。

3)強制自己的間隔x軸。例如,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