我正在從AESRD 2013 - SCO Bitumen - 7y.csv
in this folder生成ggplot2線圖。該文件根據我的意願在網站上自動創建。這些是幾個時間序列,顯示了一些生產值,每個值根據「彙編」欄命名。所以我按照「彙編」分組。ggplot2:按照字母順序排列而不是按照數據集中外觀的順序排列
看到我的代碼在文件plotter.r
的摘錄可在同一文件夾中(見上文)。
# "dt" is the dataframe derived from the csv file.
# "thinned" is some vector of x-values that tells where to draw the special symbols.
p = ggplot(dt, aes(Date, Value, colour= Compilation, group = Compilation, size = plotParameter), guide=FALSE)
p = p + geom_point(data=dt[thinned,],aes(as.Date(Date), Value, colour= Compilation, shape = Compilation), size = 5)
p = p + scale_shape_manual(values = seq(0,20))
p = p + geom_line(guide = FALSE)
p = p + scale_colour_manual(values=cbPalette) #cbPalette is already defined
p = p + scale_size(range=c(0.5, 2), guide=FALSE)
p = p + scale_y_continuous(labels = comma)
p = p + ylab("Barrels per day") + xlab("")
p = p + theme(legend.text = element_text(size = 8, hjust = 5, vjust= -5))
plot(p)
來了討厭的事:圖例重新排序我的合輯字母!
我特意設計我的CSV文件,使每個編譯在一定的邏輯順序顯示出來(最重要的系列,然後再在一些性能參數的順序如下)。所以傳說的正確順序將根據unique(dt$Compilation)
。
我到現在爲止的步驟是將列Order
引入到csv文件中,並試驗(不成功),並以各種方式更改我的代碼。沒有成功。
當然,我已經搜索並檢查了Stackoverflow上的大部分可用線程。我遇到了因式分解和重新排序,但我的彙編沒有「邏輯」順序,除了,它們出現在數據集中的順序。 *嘆氣*
任何人都可以點我在哪裏到插入什麼?
(獎勵點:如何擺脫象徵傳奇的水平線?)
申請'breaks'兩個'scales'(scale_color_manual和scale_shape_manual)。如果我們只做了一個,它們就不會匹配,ggplot會將它們分成兩個傳說,而不是合併它們。 – RUser
你解決了!如果你把它作爲答案(而不是評論)發佈,我可以用一些聲譽來獎勵你! – fridde
剛剛在下面添加了答案 - 您可以繼續投票並將其批准爲答案 – RUser