具有不同箱宽度的直方图

时间:2015-04-27 16:07:41

标签: r histogram bins

我试图从下面的论文(http://dx.doi.org/10.1016/j.envsci.2011.08.004)复制图表1的概念:

enter image description here

这是一个直方图,其宽度根据x的值而变化,其高度取决于变量y。图表中的精确值并不重要 - 而是了解如何重现它。

以下代码为每个abatement创建一个具有两个特征(costmeasure)的数据框。 measure的宽度是减排,measure的高度是成本。 measure应从最低成本到最高成本订购。

measure <- c(LETTERS)
abatement <- c(sample(1:100, 26))
cost <- c(sample(-100:250, 26))
data <- data.frame(cbind(measure, abatement, cost))

2 个答案:

答案 0 :(得分:3)

从技术上讲,这是一个条形图,而不是直方图(直方图专门指用于表示连续变量的分箱频率的条形图)......

您的cbind()搞砸了事情(将abatementcost转换为因素):

data <- data.frame(measure, abatement, cost)

这是一个开始:

with(dplyr::arrange(data,cost),
     barplot(width=abatement,height=cost,space=0))

答案 1 :(得分:0)

也许我不太清楚问题是什么,但如果您正在寻找订购数据框架,我认为这可能是一个很好的解决方案:

data2 <- data[ order(cost), ]

或者您可以使用dplyr包及其arrange功能。