這裏是我的問題,我有這樣如何根據R中的X值繪製兩個Y軸?
A B C D
a 24 1 2 3
b 26 2 3 1
c 25 3 1 2
數據現在我想要繪製在Y軸(0〜30)和B〜d在另一個Y軸在(0至5)一張圖。此外,我想a,b,c行有一條線將它們連接在一起(可以說a,b,c代表鼠標ID)。任何人都可以想出如何做到這一點的想法?我更喜歡使用R.預先感謝!
這裏是我的問題,我有這樣如何根據R中的X值繪製兩個Y軸?
A B C D
a 24 1 2 3
b 26 2 3 1
c 25 3 1 2
數據現在我想要繪製在Y軸(0〜30)和B〜d在另一個Y軸在(0至5)一張圖。此外,我想a,b,c行有一條線將它們連接在一起(可以說a,b,c代表鼠標ID)。任何人都可以想出如何做到這一點的想法?我更喜歡使用R.預先感謝!
# create some data
data = as.data.frame(list(A = c(24,26,25),
B = c(1,2,3),
C = c(2,3,1),
D = c(3,1,2)))
# adjust your margins to allow room for your second axis
par(mar=c(5, 4, 4, 4) + 0.1)
# create your first plot
plot(1:3,data$A,pch = 19,ylab = "1st ylab",xlab="index")
# set par to new so you dont' overwrite your current plot
par(new=T)
# set axes = F, set your ylim and remove your labels
plot(1:3,data$B,ylim = c(0,5), pch = 19, col = 2,
xlab="", ylab="",axes = F)
# add your points
points(1:3,data$C,pch = 19,col = 3)
points(1:3,data$D, pch = 19,col = 4)
# set the placement for your axis and add text
axis(4, ylim=c(0,5))
mtext("2nd ylab",side=4,line=2.5)
謝謝,這是不正是我的意思。對不起,混亂,說我們有一個鼠標的體重是25克,我想顯示重量百分比的變化(第1天1%,第4天2%等),我明白,我可以設置所有的鼠標到第0天爲100%,但我也想包括他們的初始體重,這與每隻小鼠不同。這有道理嗎?該eaiser方法是一天繪製自己的體重一天,但我只是想知道,如果有這樣的方案在R. –
我明白你的意思。你有沒有考慮過只給原始鼠標添加一個圖例?這樣,您可以將體重變化%添加到情節。如果您在圖例中有初始權重並且只繪製了%,那麼您的圖形更有可能被標準化(例如,所有值爲+/- 10%),而如果您有兩隻體重差異很大的小鼠(例如小鼠1 = 20克和老鼠2 = 50克) – anotherFishGuy
@Ranalysis,這也有效,我實際上做了你剛纔說的話,只是發佈這個看看是否有其他方法。謝謝。 –
我非常喜歡使用ggplot2
用於繪圖。不幸的是,ggplot2
不支持這個for philosophical reasons。
我想提出其使用方面的替代,即次要情節。請注意,爲了能夠使用ggplot2
繪製數據,我們需要更改數據結構。我們使用tidyr
包中的gather
來執行此操作。另外,我用在dplyr
定義的編程風格(使用管道很多):
library(ggplot2)
library(dplyr)
library(tidyr)
df = data.frame(A = c(24, 26, 25), B = 1:3, C = c(2, 3, 1), D = c(3, 1, 2))
plot_data = df %>% mutate(x_value = rownames(df)) %>% gather(variable, value, -x_value)
ggplot(plot_data) + geom_line(aes(x = x_value, y = value, group = variable)) +
facet_wrap(~ variable, scales = 'free_y')
在這裏,每個子圖有它自己的y軸。
嗨保羅,謝謝。這是。我們可以說,繪製一個列內的每個點,我需要的是繪製每一個點。也就是說,如何把25,1,2,3放在一個圖中,其中25屬於一個軸,1,2,3屬於另一個。 –
我不知道你用的意思,B,C行有一個線將它們連接在一起,但如果你對你的意義擴大 – anotherFishGuy
嘗試繪製圖像,也許會我可以調整下面的代碼更好地解釋您的需求 – m02ph3u5
在雙軸圖中,讀者/觀察者如何知道哪個軸應與哪個數據點一起使用? – Heroka