【发布时间】:2023-04-09 11:25:01
【问题描述】:
我正在尝试使用 R 生成一种特定类型的图表。
)
这是我试图获得的图表的描述: x 轴上的变量(“日期”)是一个因素。其水平在 x 轴上报告。 y 轴上的变量(“主题”)也是一个因素,绘制的是每个“日期”级别的计数比例。
例如,让我们考虑这个数据库:
data <- data.frame(ID = 1:20, Date = as.factor(c(1,1,1,1, 1, 1,1, 2,2,2,2, 2, 2, 2, 2, 3,3,3, 3, 3)), Theme = as.factor(c("a","b", "b", "c", "c", "c", "c","a","a","a", "a", "b","c", "c","a","a","b","b", "b", "c")))
在 R 中,我设法生成了一个堆积条形图,计算每个日期的主题值的比例:
ggplot(data, aes(x = Date)) + geom_bar(aes(fill = Theme), position = 'fill')
我的目标是产生三个水平连接的线,对于每个 x 轴级别(“日期”),y 轴变量(“主题”)的计数比例。
我在网上找到了一种可行的方法,但我没有设法让它们发挥作用。
ggplot(Theme, aes(Date)) + geom_freqpoly(aes(group = Theme, colour = Theme))
(我在这里找到了这个公式:http://docs.ggplot2.org/0.9.3.1/geom_bar.html第13张图基本上就是我要找的。)
感谢您的帮助!
【问题讨论】:
-
我认为您的示例数据不能充分代表您想要绘制的内容,但可以尝试一个可重复的示例。这是你想要做的......
ggplot( aes(Date, Theme) , data=data) + geom_freqpoly( aes( group = Theme , colour = Theme ) ) -
感谢您的回答,但我还没到:我获得了平行于 x 轴的三条线...