- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使 geom_hline 或 geom_abline 使用的线型显示在 ggplot 图的图例中?
例如:
require (ggplot2)
# some data
dummy <- data.frame (category1 = rep (1:5, 8), category2 = rep (1:4, each = 10),
category3 = rep (factor (1:2), 2), expected = 10 ^ rep (4:7, each = 10),
value = 10 ^rnorm(40, 5))
# faceted plot
baseplot <-ggplot (dummy ) +
geom_point (aes (category1, value, color = category3))+
scale_y_log10 () +
facet_wrap (~category2)
# add a dotted line for expected value
p1 <-baseplot + geom_hline ( aes ( yintercept = expected), linetype = 2)
我尝试了几种方法来使虚线显示在图例中,但它们给了我与 p1 相同的结果
p1a < -p1+scale_linetype_discrete (labels = "expected")+
guides ( linetype= guide_legend ("", labels ="expected"))
p1b <- baseplot + geom_hline (aes (yintercept = expected, linetype = "expected")) +
scale_linetype_manual (labels= "expected", values = 2)
p1a
p1b
多条线/线类型怎么样?
假设我还想绘制分组和整体几何平均值
require (reshape)
require (plyr)
# calculate geometric means, keep them in their own data frame
geometric_mean <- function (x) exp ( mean (log (x)))
dummy $GM_overall <- geometric_mean (dummy $value)
extra <- ddply(dummy, c( "GM_overall", "expected","category2"), summarize,
GM_group = geometric_mean (value))
extra_long <- melt (GM_group_long, id.vars = "category2")
我希望这种方法能够在基于 this post 的图例中显示线型,但没有这样的运气
p2=baseplot + geom_hline ( aes ( yintercept = value , linetype = variable), extra)
p2
这是另一种情况,我想用 abline 做类似的事情
如果能够将线条标记为 1:1 就太好了
dummy$value2 <- dummy $value * runif(40, 0.5, 2)
ggplot (dummy)+coord_fixed() +
geom_point (aes (value, value2, color = category3))+
geom_abline (yintercept =0, slope =1)
我正在使用 R 3.0.0,ggplot 0.9.3.1
最佳答案
您运行了几个示例,但是这个简单的案例应该可以帮助您了解大部分内容:
dummy <- data.frame (category1 = rep (1:5, 8), category2 = rep (1:4, each = 10),
category3 = rep (factor (1:2), 2), expected = 10 ^ rep (4:7, each = 10),
value = 10 ^rnorm(40, 5))
# faceted plot
baseplot <- ggplot(dummy) +
geom_point(aes(category1, value, color = category3))+
scale_y_log10() +
facet_wrap(~category2)
# add a dotted line for expected value
baseplot + geom_hline(aes(yintercept = expected,linetype = "expected"),show_guide = TRUE)
我认为,大多数情况下的关键是添加 show_guide = TRUE
。此几何图形默认为 FALSE
,这可能很直观,也可能不直观。 (我明白其中的道理。)
请注意,在这种“单线类型”情况下,我如何通过将线类型映射到“预期”字符来“欺骗”ggplot 创建图例,这会导致在后面创建一个新列场景。多种线型应按预期使用创建列并将其映射到线型的常用方法。
关于r - 在ggplot2中向图例添加线型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16902204/
我是 ggplot 的新手,所以请耐心等待。我正在绘制 35 个小区域地理的增长预测,即使使用了很棒的 directlabels 对于一个地块来说,这是一个不健康的数量。图书馆。但是我需要所有系列进行
在我下面的图表中,我希望图例反射(reflect)实际的线型,即“距离”的蓝线也应该在图例中用虚线表示。我如何实现这一目标? 在我的代码下面。谢谢! data <- structure(list(Ye
我有一个使用 step-before 插值的折线图(尽管如果使用 step-after,同样的问题也适用)。我希望垂直线段的颜色比水平线段的颜色浅。我怎样才能做到这一点? 最佳答案 单一路径必须是单一
我正在使用 React 和 Google Charts,我刚刚发现一个我找不到解决方案的问题。 我有这个组件 这里是数据和选项的值: const data = [ ["Year",
我是一名优秀的程序员,十分优秀!