如何在ggplot2中为带有图例的垂直线添加标签

潘基托

R 3.1.2 / ggplot2_1.0.0 / Windows7

如何在多面图中添加2条带有图例的垂直线而又不改变线型?在下面的示例中,我无法使图例出现,就像我从我正在编写的代码中将其想象为(两个实线和一个适当的图例)一样。一个可重现的示例:

library(ggplot2)
library(plyr)
library(e1071)

set.seed(89)
pm <- data.frame(pm10=rnorm(400, 150, 50), estacion=gl(4,100, labels = c('sur', 'norte', 'este', 'oeste')))   # data
curtosis <- ddply(pm, .(estacion), function(val) sprintf("curtosis==%.2f", kurtosis(val$pm10)))
asimetria <- ddply(pm, .(estacion), function(val) sprintf("asimetría==%.2f", skewness(val$pm10)))

p1 <- ggplot(data=pm, aes(x=pm10, y=..density..)) +
  geom_histogram(bin=15, fill='#deebf7', colour='#bdbdbd')+
  geom_density(size=1, colour='#cccccc')+
  geom_vline(data=aggregate(pm[1], pm[2], quantile, .8), mapping=aes(xintercept=pm10, linetype='percentil .8'), size=1, colour='#dfc27d', show_guide = T)+
  geom_vline(data=aggregate(pm[1], pm[2], median), mapping=aes(xintercept=pm10, linetype='mediana'), size=1, colour='#80cdc1', show_guide = T)+
  geom_text(data=curtosis, aes(x=350, y=.010, label=V1), size=3, parse=T)+
  geom_text(data=asimetria, aes(x=350, y=.008, label=V1), size=3, parse=T)+
  guides(linetype=guide_legend(override.aes=list(colour = c("#dfc27d","#80cdc1"))))+
  xlim(0,500)+
  facet_wrap(~ estacion, ncol=2) 

print(p1)

在此处输入图片说明

我希望线条是纯色的(颜色还可以),并且传奇的标题要说:“ Medida de tentencia”。

托尼托诺夫

ggplot像您这样复杂的s的主要思想是将数据准备与实际绘图分开。在数据准备步骤中,您可以根据所考虑的绘图概念来组织数据。

在您的情况下,这意味着需要预先计算出相关统计信息:

df_vline <- rbind(
  aggregate(pm[1], pm[2], quantile, .8), 
  aggregate(pm[1], pm[2], median)
)
df_vline$stat <- rep(c("percentil .8", "mediana"), each = nrow(df_vline) / 2)

然后映射方案非常简单,因此您不必考虑手动替换图例。

ggplot(data=pm, aes(x=pm10, y=..density..)) +
  geom_histogram(bin=15, fill='#deebf7', colour='#bdbdbd')+
  geom_density(size=1, colour='#cccccc')+
  geom_vline(data=df_vline, mapping=aes(xintercept=pm10, colour = stat), 
             linetype = 1, size=1, show_guide = T)+
  geom_text(data=curtosis, aes(x=350, y=.010, label=V1), size=3, parse=T)+
  geom_text(data=asimetria, aes(x=350, y=.008, label=V1), size=3, parse=T)+
  scale_colour_manual(values = c("#dfc27d","#80cdc1"), name = "Medida de tendencia")+
  xlim(0,500)+
  facet_wrap(~ estacion, ncol=2) 

在此处输入图片说明

(顺便说一句,很好的情节。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用ggplot2为geom_pointrange()类型的图形获取图例键中的垂直线

来自分类Dev

如何在单个ggplot2中对齐图层(密度图和垂直线)

来自分类Dev

如何使用带有时间序列数据的ggplot为graf添加垂直垂直线?

来自分类Dev

如何在曲线框html和css中添加垂直线分割和图例?

来自分类Dev

ggplot2:彩色垂直线

来自分类Dev

如何使用ggplot2在geom_pointrange()类型图形中使用图例键获取垂直线

来自分类Dev

在绘图ggplot中添加垂直线

来自分类Dev

在ggplot点图中为垂直线添加第二个图例

来自分类Dev

如何在时间格式为具有xlab的图上添加垂直线

来自分类Dev

如何在quantmod中添加多条垂直线?

来自分类Dev

ggplot2如何在geom_bar图中创建与分位数相对应的垂直线

来自分类Dev

ggplot2垂直线未插入所需的位置

来自分类Dev

调整ggplot中垂直线标签的位置?

来自分类Dev

如何在ggplot2中的图例周围添加框?

来自分类Dev

如何使用gnuplot在标签上添加垂直线?

来自分类Dev

在ggplot2中手动添加标签

来自分类Dev

如何在ggplot直方图中添加代表特定观察值的垂直线

来自分类Dev

如何在图标之间创建垂直线(带有示例图像)

来自分类Dev

目录中带有垂直线的scp

来自分类Dev

如何在UITableViewCell IOS之间添加垂直线

来自分类Dev

如何在网格项目之间添加垂直线?

来自分类Dev

密谋:如何在指定点添加垂直线?

来自分类Dev

绘图:如何在绘图中添加垂直线?

来自分类Dev

通过带有Terraform的EC2创建时如何在AWS EBS中添加标签?

来自分类Dev

如何在ggplot2的图例中为一个标签包含希腊语/情节字符

来自分类Dev

如何在gnuplot中添加3D绘图上的垂直线?

来自分类Dev

如何在 d3js 中向条形字符添加垂直线?

来自分类Dev

如何在文本框中添加垂直线以分隔元素

来自分类Dev

如何在格子面板中添加多条垂直线?

Related 相关文章

  1. 1

    如何使用ggplot2为geom_pointrange()类型的图形获取图例键中的垂直线

  2. 2

    如何在单个ggplot2中对齐图层(密度图和垂直线)

  3. 3

    如何使用带有时间序列数据的ggplot为graf添加垂直垂直线?

  4. 4

    如何在曲线框html和css中添加垂直线分割和图例?

  5. 5

    ggplot2:彩色垂直线

  6. 6

    如何使用ggplot2在geom_pointrange()类型图形中使用图例键获取垂直线

  7. 7

    在绘图ggplot中添加垂直线

  8. 8

    在ggplot点图中为垂直线添加第二个图例

  9. 9

    如何在时间格式为具有xlab的图上添加垂直线

  10. 10

    如何在quantmod中添加多条垂直线?

  11. 11

    ggplot2如何在geom_bar图中创建与分位数相对应的垂直线

  12. 12

    ggplot2垂直线未插入所需的位置

  13. 13

    调整ggplot中垂直线标签的位置?

  14. 14

    如何在ggplot2中的图例周围添加框?

  15. 15

    如何使用gnuplot在标签上添加垂直线?

  16. 16

    在ggplot2中手动添加标签

  17. 17

    如何在ggplot直方图中添加代表特定观察值的垂直线

  18. 18

    如何在图标之间创建垂直线(带有示例图像)

  19. 19

    目录中带有垂直线的scp

  20. 20

    如何在UITableViewCell IOS之间添加垂直线

  21. 21

    如何在网格项目之间添加垂直线?

  22. 22

    密谋:如何在指定点添加垂直线?

  23. 23

    绘图:如何在绘图中添加垂直线?

  24. 24

    通过带有Terraform的EC2创建时如何在AWS EBS中添加标签?

  25. 25

    如何在ggplot2的图例中为一个标签包含希腊语/情节字符

  26. 26

    如何在gnuplot中添加3D绘图上的垂直线?

  27. 27

    如何在 d3js 中向条形字符添加垂直线?

  28. 28

    如何在文本框中添加垂直线以分隔元素

  29. 29

    如何在格子面板中添加多条垂直线?

热门标签

归档