gpt4 book ai didi

r - 如何使用 y 作为 ggplot2 中每个 bin 的 x 值的总和绘制直方图

转载 作者:行者123 更新时间:2023-12-04 23:00:50 27 4
gpt4 key购买 nike

我有一个包含有关太阳能发电厂信息的光伏数据框。一个变量是以千瓦为单位的发电功率:

id   power
1 20.1
2 110.1
3 3.0
4 231.9
...

我试图绘制一个直方图,功率为 X 值,binwidth 为 50 kW。作为 Y,我想显示垃圾箱范围内每个植物的累积功率。
我试过这段代码没有成功。
ggplot(pv, aes(x = power, y = sum(power)), stat = "bin") + 
geom_histogram(stat = "identity", binwidth=50)

我需要使用 cut 函数计算总和,还是可以直接使用 ggplot2 生成此图?

最佳答案

这应该做你想做的:

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美学强制统计计算将每个计数乘以相应的权重,在这种情况下,这相当于对功率值求和。

enter image description here

这是一个更好的可视化:
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))

enter image description here

关于r - 如何使用 y 作为 ggplot2 中每个 bin 的 x 值的总和绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427734/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com