ggplot2中带有geom_line和geom_point的图例

哈维尔

我有下面的图。如您所见,它由用制成的两条实线和用制成geom_line的灰色线的点组成geom_point该图正是我所需要的样子,但是,图例并没有显示灰线也具有点-需要将其包括在内,因为图像将以黑白打印。

输出

这是我正在使用的代码

library(ggplot2)
library(reshape2)

ggplot(base_fin, aes(x = fecha, y = valor)) +
     geom_line(aes(colour = Serie, linetype= Serie, size = Serie)) + 
     facet_wrap(~ indicador_f, scales = "free") + theme_bw() + 
     theme(legend.title = element_blank(), 
           legend.position="bottom", 
           text=element_text(family="Calibri"),
           plot.caption=element_text(size =8)) +
     labs( x =" ", 
           y = "Balance %",
           caption = "Fuente: Fedesarrollo - Encuesta de Opinión Empresarial ") + 
     geom_point(data = pick(~ Serie == "Desestacionalizada"),
                size = 1,
                shape=21, 
                fill = "#696969") +
  scale_color_manual(values=c("#696969","#A52A2A")) + 
  scale_linetype_manual(values=c("solid", "solid")) +
  scale_size_manual(values = c(0.7, 0.7)) 

该函数pick是从此帖子中获取的,现在是

pick <- function(condition){
  function(d) d %>% filter_(condition)
}

这是dputbase_fin对象版本。

structure(list(Serie = c("Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Original", "Original", "Original", 
"Original", "Original", "Original", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada", "Desestacionalizada", 
"Desestacionalizada", "Desestacionalizada"), indicador = c("Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", "Pedidos", 
"Pedidos", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Existencias", "Existencias", "Existencias", "Existencias", "Existencias", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas", "Expectativas", "Expectativas", 
"Expectativas", "Expectativas"), valor = c(-17.17171717, -27.77777778, 
-20.1320132, -18.58974359, -23.33333333, -20.66666667, -25.33333333, 
-18.87417219, -16.0130719, -6.774193548, -3.986710963, -5.555555556, 
-12.75167785, -22.48322148, -8.783783784, -20.06688963, -13.75838926, 
-15.43624161, -18.27242525, -15.89403974, -10.63122924, -16.82847896, 
-18.33333333, -10.33333333, -17.20779221, -24.83221477, -25.08143322, 
-25.97402597, -39.03225806, -32.6984127, -36.6, -36.8, -24.9, 
-31.3, -26.1, -20.1, -30.6, -19.4257298154394, -25.9703685089816, 
-20.3861344496961, -19.9101495485428, -20.2239880538989, -14.7113316572407, 
-18.4819137673646, -16.1717368034689, -14.5959502677081, -10.1431943447449, 
-9.49293856715717, -14.3431833224798, -15.0175314884738, -19.1589828272007, 
-12.6622028387228, -17.2785369642709, -14.7137454056914, -10.9863208231779, 
-11.4260631196951, -10.2079867573836, -12.2402042667793, -20.1852851357549, 
-22.3325699889125, -20.6210295709765, -17.9890424366566, -23.0052463035128, 
-25.33605349585, -28.7634410505091, -32.8858545079308, -29.7448456266512, 
-29.7526508392999, -31.1156337087039, -26.5237131647522, -33.1488467400888, 
-31.5932131466922, -30.3890229099213, -29.88786713631, 1.219512195, 
8.097165992, 3.375527426, 5.555555556, 7.594936709, 4.979253112, 
8.032128514, 7.723577236, 6.772908367, 3.585657371, 0.803212851, 
2.409638554, -5.761316872, 0, -2.868852459, 3.629032258, 1.176470588, 
4.6692607, 3.984063745, 8.661417323, -0.396825397, 1.526717557, 
5.416666667, 2.352941176, -1.176470588, 2.857142857, 6.692913386, 
5.303030303, 10.546875, 15.11627907, 10, 10.7, 9.1, 7.2, 7.1, 
3.6, -3.6, 6.35643479390351, 10.6459166732001, 5.22344247559281, 
5.67243419069118, 6.3263552672748, 2.29230191391349, 4.42003999148902, 
5.07647767727737, 5.30771779345801, 3.47331159793118, 1.31249391251287, 
3.91085347572511, -0.297051262491389, 2.27599773853472, -0.946351168644105, 
4.05145498630362, -0.392452138283862, 2.01810682125391, 0.477707150907406, 
5.25257945478279, -1.18446517966137, 1.46378983700101, 5.48183798990593, 
4.14461402558536, 4.2191872798374, 5.53413370570711, 8.62207440746222, 
5.77040428025131, 8.64092656975902, 12.5352275433627, 6.52539967912879, 
7.21936961650841, 8.27293183570152, 6.80422490588575, 7.360242701794, 
5.38182228563597, 1.63457896220321, 11.94539249, 38.28382838, 
45.48494983, 36.4516129, 30.74324324, 28.28282828, 33.55704698, 
26.75585284, 31.56146179, 29.12621359, 11.0367893, -1.973684211, 
10.77441077, 38.46153846, 37.16216216, 36.12040134, 32.66666667, 
35.5704698, 33.44481605, 41.13712375, 34.00673401, 25.72347267, 
7.216494845, 0.67114094, 12.54125413, 33.33333333, 31.57894737, 
28.66449511, 24.02597403, 21.3592233, 30.6, 29.8, 28.3, 28.3, 
7.1, -6.4, 12.7, 19.6082854187009, 28.3975943937634, 36.7646031275808, 
32.8922669367486, 27.7187265106525, 26.9910138247318, 28.0425905989078, 
18.908960340379, 23.8288780341071, 28.8238115639326, 26.7623103887625, 
22.4829956248288, 18.8169769197174, 28.5770502232341, 28.4130406430057, 
30.4136428782344, 31.6073593808502, 34.1917179768746, 27.8173747579929, 
33.1807504629413, 26.3231570813892, 25.2681111602547, 22.9790320315865, 
25.2451317852747, 20.7348942514042, 23.4654135930006, 22.8591878864177, 
24.9294286030083, 20.9981164515538, 20.0199851054753, 24.9196082768083, 
21.8203205863293, 20.6515258913999, 27.6879437780452, 22.8389127771605, 
18.2480968382284, 20.9244154820531), fecha = structure(c(16405, 
16436, 16467, 16495, 16526, 16556, 16587, 16617, 16648, 16679, 
16709, 16740, 16770, 16801, 16832, 16861, 16892, 16922, 16953, 
16983, 17014, 17045, 17075, 17106, 17136, 17167, 17198, 17226, 
17257, 17287, 17318, 17348, 17379, 17410, 17440, 17471, 17501, 
16405, 16436, 16467, 16495, 16526, 16556, 16587, 16617, 16648, 
16679, 16709, 16740, 16770, 16801, 16832, 16861, 16892, 16922, 
16953, 16983, 17014, 17045, 17075, 17106, 17136, 17167, 17198, 
17226, 17257, 17287, 17318, 17348, 17379, 17410, 17440, 17471, 
17501, 16405, 16436, 16467, 16495, 16526, 16556, 16587, 16617, 
16648, 16679, 16709, 16740, 16770, 16801, 16832, 16861, 16892, 
16922, 16953, 16983, 17014, 17045, 17075, 17106, 17136, 17167, 
17198, 17226, 17257, 17287, 17318, 17348, 17379, 17410, 17440, 
17471, 17501, 16405, 16436, 16467, 16495, 16526, 16556, 16587, 
16617, 16648, 16679, 16709, 16740, 16770, 16801, 16832, 16861, 
16892, 16922, 16953, 16983, 17014, 17045, 17075, 17106, 17136, 
17167, 17198, 17226, 17257, 17287, 17318, 17348, 17379, 17410, 
17440, 17471, 17501, 16405, 16436, 16467, 16495, 16526, 16556, 
16587, 16617, 16648, 16679, 16709, 16740, 16770, 16801, 16832, 
16861, 16892, 16922, 16953, 16983, 17014, 17045, 17075, 17106, 
17136, 17167, 17198, 17226, 17257, 17287, 17318, 17348, 17379, 
17410, 17440, 17471, 17501, 16405, 16436, 16467, 16495, 16526, 
16556, 16587, 16617, 16648, 16679, 16709, 16740, 16770, 16801, 
16832, 16861, 16892, 16922, 16953, 16983, 17014, 17045, 17075, 
17106, 17136, 17167, 17198, 17226, 17257, 17287, 17318, 17348, 
17379, 17410, 17440, 17471, 17501), class = "Date"), indicador_f = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("Pedidos", 
"Existencias", "Expectativas"), class = "factor")), .Names = c("Serie", 
"indicador", "valor", "fecha", "indicador_f"), row.names = c(NA, 
-222L), class = "data.frame")

我将不胜感激。

提前致谢!

马吕斯

您可以shape = Serie对整个图进行美化,然后scale_shapeNA未绘制“原始”形状位置使用

ggplot(base_fin, aes(x = fecha, y = valor, shape = Serie)) +
    geom_line(aes(colour = Serie, linetype= Serie, size = Serie)) + 
    facet_wrap(~ indicador_f, scales = "free") + theme_bw() + 
    theme(legend.title = element_blank(), 
          legend.position="bottom", 
          plot.caption=element_text(size =8)) +
    labs( x =" ", 
          y = "Balance %",
          caption = "Fuente: Fedesarrollo - Encuesta de Opinión Empresarial ") + 
    geom_point(data = pick(~ Serie == "Desestacionalizada"),
               size = 1,
               fill = "#696969") +
    scale_color_manual(values=c("#696969","#A52A2A")) + 
    scale_linetype_manual(values=c("solid", "solid")) +
    scale_size_manual(values = c(0.7, 0.7)) +
    scale_shape_manual(values = c(21, NA))

GGplot使用这些aes()映射来确定图例的外观以及如何将它们组合在一起,因此这些类型的问题通常需要映射美学。

结果:

在此处输入图片说明

PS:像这样设置绘图后,您现在不再需要覆盖中的数据geom_point(),因此pick()不再需要。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ggplot2:合并geom_line,geom_point和geom_bar的图例

带有ggplot2和geom_point的图例

带有 geom_line 和 geom_ribbon 和 geom_point 的图例

ggplot2-结合了geom_point和geom_line的图例

使用geom_point()和geom_line()进行多个系列的ggplot中的图例错误

ggplot2:将geom_line和geom_point组合在一起的图形中的坐标图例

结合ggplot geom_point和geom_line图产生的冗余图例

从图例中删除ggplot2的geom_point图标

添加geom_line以链接盒状图中所有geom_point(条件为ggplot2)

如何在ggplot2中获取堆叠的geom_bar和geom_point的通用图例?

以重复方式将ggplot2 :: geom_point()与ggplot2 :: geom_line()连接

ggplot2:如何在图例键中分隔geom_polygon和geom_line?

当我同时拥有geom_line和geom_hline时,如何在ggplot2中获得组合图例

无法在 r 中使用 ggplot2 将组合 geom_point 和 _line 图的颜色和线型图例分开

为带有2个不同变量的geom_point提供文本到ggplot2地图的图例

填充地图上geom_point的ggplot2图例

ggplot2 geom_point alpha在图例中与图例不同

r 中带有 geom_point 的 gg 绘图(ggplot2)

使用facet_grid和多个数据点(R ggplot2)时,将geom_point和geom_line组合

ggplot2:如何将geom_line和geom_point的图层与错误栏组合在一起

ggplot2:没有具有多个 geom_point 的图例

在ggplot2中使用geom_smooth()和geom_point()时显示带有日期的x轴标签

ggplot 将 geom_point 与 geom_line 分开的方法?

如何为 ggplot2 (R) 中的多个 geom_line 图创建具有不同 alpha 的图例

geom_line ggplot2 中同一组的两个不同图例

抖动geom_line和geom_point

添加geom_point和geom_line进行绘图

分别调整geom_point()和geom_line()

ggplot:两组的geom_line和geom_point重叠顺序?