我有一个光伏数据包含有关太阳能工厂的信息。一个变量是以千瓦为单位的发电功率:
id power
1 20.1
2 110.1
3 3.0
4 231.9
... 我正试图绘制一个直方图,用幂表示为X值,其二进制宽度为50 kW。作为Y,我想显示在垃圾箱范围内的每一个工厂的累积功率。我尝试了这段代码但没有成功。
ggplot(pv, aes(x = power, y = sum(power)), stat = "bin") +
geom_histogram(stat = "identity", binwidth=50)我需要用割集函数来计算和,或者可以直接用ggplot2生成这个图?
发布于 2014-08-21 13:39:24
这应该是你想做的事:
set.seed(1)
df <- data.frame(id=1:100, power=rlnorm(100, log(100)))
ggplot(df) +
geom_histogram(aes(x=power, weight=power), binwidth=50) +
ylab("Total Power (kW)")weight美学迫使stat计算将每个计数乘以相应的权重,在这种情况下,这相当于幂值之和。

这里有一个更好的可视化:
ggplot(transform(df, power.bin=cut(power, 0:24 * 50, include.lowest=TRUE))) +
geom_bar(aes(x=power.bin, y=power), color="white", position="stack", stat="identity") +
ylab("Total Power (kW)") +
scale_x_discrete(drop=F) +
theme(axis.text.x=element_text(angle=90, vjust=.5, hjust=1))

https://stackoverflow.com/questions/25427734
复制相似问题