2016-10-05 60 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

关于旋转方面,旋转正方形会使每个季度看起来都一样。这正是我需要的。 –