旋转并调整符号ggplot

时间:2016-10-05 19:16:49

标签: r ggplot2 symbols

我试图在ggplot(geom_point)中绘制一个图,我能够绘制它,但我想根据一些变量操纵特定符号的外观。

我想将符号(pch = 22)旋转一个data.frame定义的角度。 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))

基本上,我希望宽度以与width参数成比例的方式改变。因此,在此示例数据中,宽度将与2-7的范围成比例地变化。 例如,如果&#34; widthparameter&#34;的值可以是1mm的宽度。对于&#34; widthparameter&#34;的值,宽度可以是3mm; 7.所以&#34; widthparameter&#34; 3和5的比例将在2mm和3mm之间。

我是R的新手,所以在ggplot中操纵这样的符号在我看来似乎是一项难以置信的艰巨任务。

请帮忙,

1 个答案:

答案 0 :(得分:1)

这个

有很多组成部分
library(tidyverse)
ggplot(plotdata, aes(x, y, size=widthparameter))+geom_point() 

将根据width参数生成不同大小的绘图。此外,您可以按区域扩展 - 这里有更多信息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时它可能会有用。