2016-10-05 91 views
0

我想繪製在ggplot(geom_point)中的一個情節,我能夠繪製它,但我想操縱基於某些變量的特定符號的外觀。旋轉和調整大小的符號ggplot

我想通過data.frame定義的角度來旋轉符號(pch = 22)。 Pch = 22看起來像一個矩形。此外,我想根據數據框中定義的值來更改rectagle的寬度。

下面是一些示例數據:

plotdata <- data.frame(x=c(4,6,7,10), 
      y=c(5,6,8,9), angle=c(pi/3, 2*pi/3, pi, pi/6), 
      widthparameter = c(2, 3, 5, 7)) 

基本上,我希望寬度的方式,是比例於寬度參數改變。因此在這個示例數據中,寬度將與範圍2-7成比例變化。例如,如果寬度對於「寬度參數」2的值可以是1mm,對於「寬度參數」7的值可以是3mm。因此,3和5的「寬度參數」將成比例地在2mm和3之間的某處毫米。

我是R新手,所以在ggplot中操縱像這樣的符號在我看來就像是一個不可能的艱鉅任務。

請幫幫忙,

+0

你最好的選擇可能是創建一個新的GEOM +規模。我曾經有過繪製小規則多邊形的例子,但那是多年以前的事情,內部已經變得太多了,無法使用任何東西 – baptiste

回答

0

有許多組件到這個

library(tidyverse) 
ggplot(plotdata, aes(x, y, size=widthparameter))+geom_point() 

將生成每寬度參數不同尺寸的曲線圖。此外,你可以地區規模由 - 很多在這裏更多信息http://docs.ggplot2.org/current/scale_size.html

ggplot(plotdata, aes(x, y, size=widthparameter))+geom_point()+scale_size_area() 

在旋轉方面,你將有一個艱難的時刻 - 加上使用方形(pch = 22)和旋轉,這並不意味着每季度轉多,當看起來是一樣的......可能更好地將角度轉換爲一個因子,併爲每個因子水平繪製不同的形狀 - 或者使用類似scale_colour_gradientn(...)的東西以連續的比例對角度着色。

有用於製作使用GGPLOT2數字信息的負荷,我在解釋它的一小部分刺是http://ben-williams.github.io/updated_ggplot_figures.html也許這將是有用的,而你學習R.

+0

關於旋轉方面,旋轉正方形會使每個季度看起來都一樣。這正是我需要的。 –