2016-08-24 95 views
0

我正在嘗試在ggplot2中製作玫瑰圖。我以前用下面的代碼做了一個,但是我已經用不同的數據代替了,現在它給了我一個錯誤。有沒有人看到我不喜歡的東西? 感謝ggplot2錯誤中的玫瑰圖:美學必須是長度1或與數據相同

下面是數據:

> d <- structure(list(Angle = c(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 
+ 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 
+ 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360 
+), Frequency = c(0.3, 1.5, 1.6, 1.9, 2.4, 3.1, 9.6, 5.6, 5.8, 5.6, 8.8, 4, 9, 7.5, 4.6, 2.5, 1.3, 3.3, 0.5, 0.5, 0.3, 2.2, 1.1, 0.5, 1.9, 2.2, 1.1, 0.3, 0, 1.7, 1.6, 2.8, 0.7, 0.7, 1.9, 0, 0)), .Names = c("Angle", "Frequency" 
+), row.names = c(NA, 36L), class = "data.frame") 
> str(d) 

這是我以前用來創建玫瑰情節代碼:

> library(ggplot2) 
> ggplot(d, aes(x = Angle, y = Frequency)) + 
+ coord_polar(theta = "x", start = -pi/36) + 
+ geom_bar(stat = "identity") + 
+ scale_x_continuous(breaks = seq(0, 360, 60)) 

我收到確切的錯誤是:

Error: Aesthetics must be either length 1 or the same as the data (36): x, y

回答

0

這似乎是由於您的數據有37個條目,但您的row.names ar e設定爲36,導致R做出一些猜測。如果在數據說明中(在row.names下)將36L更改爲37L,則此操作按輸入操作。

相關問題