我有一个data.frame pp,前几行看起来是这样的,
fill x
1 a 0.3048367
2 b 0.3318136
3 c 0.2081782
4 a 0.2969265
5 b 0.2637778
6 c 0.3509706
我想创造一个像下面这样的情节,
library(ggplot2)
p <- ggplot(data = pp) +
geom_histogram(data=subset(pp, fill == 'a'),
aes(x=x, y=..density.., fill=f
我正在尝试遍历iris数据集的每一列,并在ggplot中绘制直方图。所以我预计会出现5个不同的直方图。但是,下面的for循环不返回任何内容。我该如何解决这个问题呢? library(ggplot2)
for (i in colnames(iris)){
ggplot(iris, aes(x = i))+
geom_histogram()
}
一个受到ggplot2挑战的网格学家需要帮助:在直方图中请求可变的每一面中断的语法是什么?
library(ggplot2)
d = data.frame(x=c(rnorm(100,10,0.1),rnorm(100,20,0.1)),par=rep(letters[1:2],each=100))
# Note: breaks have different length by par
breaks = list(a=seq(9,11,by=0.1),b=seq(19,21,by=0.2))
ggplot(d, aes(x=x) ) +
geom_histogram() + ### He
我正在处理一个5k完成时间的数据集,看起来有点像这样:
"15:34"
"14:23"
"17:34"
等等,有很多,但它们都是这样格式化的。我能够将它们全部转换为POSIXct,并将它们存储在一个数据框架中,以便更容易地使用ggplot2,但对于我的生活来说,我无法获得更改颜色的图形。填充命令不起作用,图形只是保持灰色。
我已经尝试过引用我创建的POSIXct对象,但是ggplot抛出了一个错误,并告诉我它在POSIXct中不能很好地工作。我能够显示直方图的唯一方法是将其存储在数据格式中。
我目前使用的代码如下所示:
#make the dat
我有一个函数,它将数据集和颜色分配给每个数据集,如下所示
x1 <- rep(1:10, each = 3, times = 3)
x2 <- rep(1:7, each = 7, times = 2)
x3 <- rep(6:9, each = 11, times = 4)
y1 <- rep(1:5, each = 2, times = 9)
y2 <- rep(1:14, times = 7)
y3 <- rep(1:11, times = 16)
color1 <- rep("blue", times = length(x1))
我想把两个直方图放在一个图中,但是每个直方图都是基于不同的列。目前我可以这样做,但是position=dodge在这里不起作用。而且没有传说(不同列的颜色不同)。
p <- ggplot(data = temp2.11)
p <- p+ geom_histogram(aes(x = diff84, y=(..count..)/sum(..count..)),
alpha=0.3, fill ="red",binwidth=2,position="dodge")
p <- p+ geom_histo
我每年都有一批不同的病人,他们属于三个级别中的一个。我想画出每一年这三个级别的相对频率分布。假设80%的患者标记为C,另一个患者标记为A和B。由于大多数患者标记为C,因此A和B的分布将不可见。所以,我改变了y轴。我得到了以下关于ggplot的问题:A和B的彩色列被显示出来,但是C的彩色列从图中消失了。这里我举了一个例子:
library(ggplot2)
# Data set
grp <- rep(c("A","B","C"), c(10,10,80))
year <- floor(runif(100)*10/3)
df <-