我试图从下面的论文(http://dx.doi.org/10.1016/j.envsci.2011.08.004)中复制图表图1的概念:
它是一个直方图,其箱子宽度取决于x
的值,其高度取决于变量y
。图表中的精确值并不重要,而是要了解如何复制它。
以下代码为每个measure
创建了一个具有两个特征的数据帧(减少
and
measure的宽度是减量,
的高度是成本。
度量值
应该从最低成本到最高成本排序。
measure <- c(LETTERS)
abatement <- c(sample(1:100, 26))
cost <- c(sample(-100:250, 26))
data <- data.frame(cbind(measure, abatement, cost))
从技术上讲,这是一个条形图,而不是直方图(直方图特指用于表示连续变量的装箱频率的条形图)…
您的cbind()
正在搞砸事情(将减排
和成本
转换为因素):
data <- data.frame(measure, abatement, cost)
这是一个开始:
with(dplyr::arrange(data,cost),
barplot(width=abatement,height=cost,space=0))
在Matplotlib中创建堆叠直方图时,我注意到箱宽缩小了。在这个简单的例子中: 我得到以下输出: 请注意,左侧的直方图在每个存储区之间都有行间距,即使左侧和右侧直方图都使用相同的存储区。 有没有办法纠正这种行为?我想在左边的直方图使用完整的箱子宽度,这样相邻的箱子共享一条边。
我花了一些时间在互联网上寻找这个问题的答案,我也试着在SO的所有地方寻找答案,但我想我没有正确的术语……请原谅,如果这是某个已知问题的重复,我很乐意删除我的帖子,改为引用该帖子! 无论如何,我试图在Matplotlib中的同一图形上绘制两个直方图。我的两个数据源是包含 500 个元素的列表。要说明我面临的问题,请参阅下图: 如您所见,在默认参数下,直方图具有不均匀的条块大小,即使条块的数量是相同的
我用matplotlib生成直方图。 我需要箱子的宽度不相等,因为我对最低的条柱最感兴趣。现在我正在这样做: 这创建了我想要的(前5个条柱的宽度为10,其余50条箱的宽度),但前五个条柱当然比后一个条柱窄,因为所有条柱都显示在同一轴上。 有没有办法影响x轴或直方图本身,这样我就可以在前5个箱之后打破刻度,这样所有箱都显示为等宽? (我意识到这将产生一个扭曲的视图,我对此很好,尽管我不介意在轴的两个
为了生成此图,我执行了以下操作: 但是,正如您所注意到的,我想绘制每个数据点的相对频率的直方图,其中只有3个具有不同大小的条柱: bin1 = 0.03 - bin2 = 0.3 - bin3=2- 直方图看起来很难看,因为最后一个面元的大小相对于其他面元来说非常大。如何修复直方图?我想改变箱子的宽度,但不想改变每个箱子的范围。
我正在尝试在 matplotlib 中绘制具有多个数据序列的直方图。 我有不相等间隔的箱子,但是我想要每个箱子得到相同的宽度。所以我这样使用属性< code>width: 结果是: 我怎样才能去掉两个系列的两个对应箱子之间的边距?一、 e.如何为每个箱子分组不同系列的钢筋? 谢谢
我正在尝试绘制一个只有线条但笔画宽度不同的对象。这可能吗? 我的尝试: 不成功,最后一个笔画宽度用于整个< code >路径。