我在最近的搜索中看到了我的问题的一些答案,但它们都没有为我工作。
我想将geom_jitter()除以3组,并为每个组添加平均线。到目前为止,我有以下代码。但它仍然不好。
library(ggplot2)
data("iris")
iris.summary <- aggregate(. ~ Species, mean, data=iris)
ggplot(iris, aes(x=Species, y=Sepal.Width, shape=Species)) +
geom_jitter(width=0.2) + geom_hline(data=iris.summary, size=1,
col="red", aes(yintercept=Sepal.Width))
如何将红线设置为点的边缘?
提前致谢,
Rhenan Bartels
答案 0 :(得分:7)
你可以像ggplot(iris, aes(x=Species, y=Sepal.Width, shape=Species)) +
geom_jitter(width=0.2) +
geom_crossbar(data=iris.summary, aes(ymin = Sepal.Width, ymax = Sepal.Width),
size=1,col="red", width = .5)
那样对此进行一些破解:
width = ...
你必须使用stat_summary()
才能使它恰到好处,但这很接近。
不直接相关,但我从ggplot(iris, aes(x=Species, y=Sepal.Width, shape=Species)) +
geom_jitter(width=0.2) +
stat_summary(fun.data = mean_cl_normal, geom = "crossbar",
width = .5, color = "red")
获得了很多里程,并认为它也显示了更好的数据:
SELECT attachments.*, alerts.id as alert_id
FROM `attachments`
LEFT OUTER JOIN `alerts` ON `alerts`.`attachment_id` = `attachments`.`id`
LEFT OUTER JOIN `rules` ON `rules`.`id` = `alerts`.`rule_id`
WHERE `attachments`.`bug_id` = 38871 AND (rules.id = 9 OR rules.id IS NULL)