gpt4 book ai didi

r - 在直方图中添加图例(格子)

转载 作者:行者123 更新时间:2023-12-02 00:34:06 26 4
gpt4 key购买 nike

我是 R 编程的新手,我想制作一个关于性别和相应工作的直方图。

我遇到的问题是无法在图表中添加图例。

此外,我想在每个栏的顶部添加频率数字。

你能帮帮我吗?

library(lattice)
histogram(~ job | sex, col=rainbow(7), main="", xlab = "", ylab="(%)")

附言我正在尝试使用图例函数,但出现此错误:

Error in strwidth(legend, units = "user", cex = cex) : plot.new has not been called yet

最佳答案

我猜您一直在阅读教您使用 attach 的介绍 Material 。试着忘记这一点。如果您想使用格子,这是一个坏习惯。 (这是编写代码时普遍存在的一个坏习惯。)假设您在数据框中有这两个变量,dfrm 为长格式,然后试试这个:

library(lattice)
histogram(~ job | sex, data=dfrm, auto.key=TRUE,
col=rainbow(7), main="", xlab = "", ylab="(%)")

legend 函数不能与 lattice 很好地混合,因为它是基础图形。您可以尝试,但放置的坐标系非常不同。

我用 singer 数据集测试了上面的变体,但没有成功。此示例在将 Freq 列添加到歌手数据集后起作用:

singer$Freq <- ave(singer$height, singer$voice.part, FUN=length)
barchart(Freq ~ height, groups = voice.part,
data = singer,
stack = TRUE, horizontal=FALSE,
par.settings=list(superpose.polygon=list(col=rainbow(8))),
auto.key=list(x = .6, y = .7, corner = c(0, 0)))

关于r - 在直方图中添加图例(格子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435715/

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