我试图从下面的论文(http://dx.doi.org/10.1016/j.envsci.2011.08.004)复制图表1的概念:
这是一个直方图,其宽度根据x
的值而变化,其高度取决于变量y
。图表中的精确值并不重要 - 而是了解如何重现它。
以下代码为每个abatement
创建一个具有两个特征(cost
和measure
)的数据框。 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))
答案 0 :(得分:3)
从技术上讲,这是一个条形图,而不是直方图(直方图专门指用于表示连续变量的分箱频率的条形图)......
您的cbind()
搞砸了事情(将abatement
和cost
转换为因素):
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
功能。