我在R中使用ggplot
來繪製一些數據。我試圖做的是在圖表的不同區域中背景不同的散點圖。有一個非常有幫助的答案here,讓我在那裏的大部分途徑,但不是所有的方式。使用因子變量更改ggplot圖表的背景顏色
這裏是數據
row.names selectionDirector country Totals director.rank
1 268 Alfred Hitchcock Argentina 14 1
2 269 Alfred Hitchcock Australia 7 3
3 274 Alfred Hitchcock Canada 10 1
4 286 Alfred Hitchcock France 18 1
5 288 Alfred Hitchcock Germany 9 6
6 296 Alfred Hitchcock Italy 5 3
7 319 Alfred Hitchcock Spain 21 4
8 320 Alfred Hitchcock Sweden 4 8
9 325 Alfred Hitchcock UK 87 1
10 330 Alfred Hitchcock US 87 1
11 346 Andrei Tarkovsky Argentina 4 20
12 347 Andrei Tarkovsky Australia 2 34
13 355 Andrei Tarkovsky Canada 2 32
14 365 Andrei Tarkovsky France 2 37
我的代碼的一個示例:
rects <- data.frame(xstart = seq(-0.5,8.5,1), xend = seq(0.5,9.5,1), col = letters[1:10])
ggplot() +
geom_rect(data=rects,aes(ymin=0,ymax=80,xmin=xstart,xmax=xend,fill=col)) +
geom_point(data=top.votes.by.director.country, aes(x=country, y=director.rank)) +
coord_flip() +
facet_wrap(~selectionDirector)
國家是具有10個值的一個因素。 director.rank
是數字。它們都來自數據框top.votes.by.director.country
。我的想法是爲每個國家的水平區域設置一個不同的背景,以便在我面向時更容易閱讀。
想象一下上面的圖片,不同的是,不用彩色點,每個國家會有一個黑色點後面的彩色條帶。我可以在網上找到的最接近是下面的圖表,從答案取自上面的鏈接:
所以就在方位圖中每個國家的彩色背景,就像上面圖中有一每個地區的彩色背景。
問題是,當我運行上面的代碼時,出現以下錯誤。
Error: Discrete value supplied to continuous scale
當我刪除geom_rect
部分時,它工作正常。如果我將geom_rect
移到facet_wrap
以上,我會得到一個圖表,儘管它很糟糕。如果我只是做geom_rect
部分,我會得到我想要的背景。
我一直在爲此亂搞幾個小時,無法讓它工作。
你能提供你的數據樣本嗎?也是預期產出的一個例子。 – Molx
我試圖在帖子中添加更多相關信息。我添加了一個數據樣本,並且可以找到我想要的輸出的最接近的近似值。這將是我創建的圖表與其背景爲不同顏色的圖表之間的某種組合。 –