我试图在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中操纵这样的符号在我看来似乎是一项难以置信的艰巨任务。
请帮忙,
答案 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时它可能会有用。