【发布时间】:2020-09-13 06:14:39
【问题描述】:
我正在尝试在 R 上创建这个分层直方图,但是我没有得到正确的图。如果可能的话,我也想使用 rect 函数。
我将如何编写一个 R 函数来使用 R 中的 iris 数据集创建这个分层直方图?
这是目前为止的代码:
strathist = function(x, y, ylab = "Frequency", xlab = "", main = ""){
cols = hcl(h=seq(0, 360, by = 120))
h = hist(x, breaks = 24, plot = FALSE)
tb = table(y, cut(x, h$breaks))
plot.new()
barplot(tb, ylim = c(0, max(h$count)), col = cols,
ylab = ylab, xlab = xlab, main = main, axisnames = FALSE)
box()
axis(1, 0:(length(h$breaks)-1), h$breaks)
axis(2)
legend("topright", c(rownames(tb)), fill = cols)
}
with(iris, strathist(Sepal.Width, Species, xlab = "Sepal.Width", main = "Stratified Histogram"))
【问题讨论】:
-
嗨本杰门。你的错误是什么?您发布的图像是您想要实现的图像,还是您制作的情节?如果是这样,你认为它有什么问题?您能否编辑您的问题以提供更多详细信息,包括您使用的产生错误的代码。
-
请不要破坏您自己的帖子。当您在此处发布时,即表示您授予 SO 在 CC-by SA 4.0 下分发内容的权利。任何破坏行为都将被撤销。如果您想删除您的问题,问题文本下方有一个“删除”链接。