R中按组绘制的带状图
stripchart by groups in R
我仍然是 R 的新手,想寻求有关绘制带状图的帮助。
stripchart(Study_intensive$AGE, method="stack",
at=c(0.05), pch=20, cex=2, xaxt="n", frame.plot=F, main= "Age Range in weight group(yr)")
axis(1, at=seq(0, 75, by=5) , labels= seq(0, 75, by=5),
cex.axis=0.75)
这是我目前的代码,我正在尝试将其按另一个名为 "weightclass" 的列进行分组;基本上为每个重量级使用另一种颜色。 "weightclass" 有 4 个值:分别为 1、2、3、4。有什么我可以轻松做到的吗?
感谢您的帮助!
这是一个使用 mtcars
的例子:
library(RColorBrewer)
testColor=brewer.pal(6, 'RdBu')
stripchart(mtcars$mpg~mtcars$gear, col=testColor, method="stack", pch=20, cex=2, xaxt="n", frame.plot=F, main= "Age Range in weight group(yr)")
axis(1, at=seq(0, 75, by=5) , labels= seq(0, 75, by=5), cex.axis=0.75)
EDIT-1
使用 ggplot
有一些方法可以将您要求的所有内容集中在一个条带中并按组着色:
library(ggplot2)
library(RColorBrewer)
testColor=brewer.pal(6, 'RdBu')
mtcars$color=testColor[mtcars$gear] #to get the colors your after
mtcars$strip=1 #to get them into a single strip
ggplot(mtcars, aes(x=strip, y=mpg, color=color)) +
geom_jitter(position=position_jitter(0.2)) + xlim(0, 2)
我仍然是 R 的新手,想寻求有关绘制带状图的帮助。
stripchart(Study_intensive$AGE, method="stack",
at=c(0.05), pch=20, cex=2, xaxt="n", frame.plot=F, main= "Age Range in weight group(yr)")
axis(1, at=seq(0, 75, by=5) , labels= seq(0, 75, by=5),
cex.axis=0.75)
这是我目前的代码,我正在尝试将其按另一个名为 "weightclass" 的列进行分组;基本上为每个重量级使用另一种颜色。 "weightclass" 有 4 个值:分别为 1、2、3、4。有什么我可以轻松做到的吗?
感谢您的帮助!
这是一个使用 mtcars
的例子:
library(RColorBrewer)
testColor=brewer.pal(6, 'RdBu')
stripchart(mtcars$mpg~mtcars$gear, col=testColor, method="stack", pch=20, cex=2, xaxt="n", frame.plot=F, main= "Age Range in weight group(yr)")
axis(1, at=seq(0, 75, by=5) , labels= seq(0, 75, by=5), cex.axis=0.75)
EDIT-1
使用 ggplot
有一些方法可以将您要求的所有内容集中在一个条带中并按组着色:
library(ggplot2)
library(RColorBrewer)
testColor=brewer.pal(6, 'RdBu')
mtcars$color=testColor[mtcars$gear] #to get the colors your after
mtcars$strip=1 #to get them into a single strip
ggplot(mtcars, aes(x=strip, y=mpg, color=color)) +
geom_jitter(position=position_jitter(0.2)) + xlim(0, 2)