geom_GeomDrawGrob() has yet to be implemented in plotly.
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- R
- Star
- 2.7k
- Fork
- 641
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
PROBLEM DESCRIPTION
I want to use plotly::ggplotly() over a series of ggplot graphs that are grouped together using cowplot::plot_grid(). Essentially, this would create a sleek dashboard-like image within an R Markdown or Shiny application.
The intended ggplot class graph to be interacted with plotly::ggplotly() is the following:

However, I ran into the following error message when trying this:
geom_GeomDrawGrob() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issuesgeom_GeomDrawGrob() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues
Below is all the code necessary to construct the relevant dataframes and graphs to reproduce the above error message. The code is separated into three chunks. I also added two screenshots at the end of the outputs of the final two chunks of my notebook.
library(tidyverse)
library(cowplot)
library(plotly)
my_data1 <- structure(list(day = structure(c(18593, 18654, 18683, 18554,
18600, 18601, 18665, 18635, 18680, 18595, 18709, 18662, 18568,
18562, 18431, 18467, 18475, 18679, 18649, 18498, 18448, 18686,
18682, 18606, 18577, 18526, 18468, 18552, 18459, 18611, 18454,
18622, 18558, 18407, 18583, 18640, 18485, 18555, 18598, 18458,
18619, 18693, 18668, 18528, 18584, 18466, 18656, 18663, 18446,
18372, 18385, 18383, 18358, 18542, 18695, 18655, 18630, 18664,
18626, 18702, 18535, 18676, 18705, 18553, 18591, 18628, 18556,
18691, 18673, 18487, 18416, 18441, 18394, 18409, 18381, 18404,
18418, 18490, 18707, 18443, 18401, 18408, 18386, 18367, 18323,
18382, 18370, 18678, 18511, 18540, 18436, 18629, 18541, 18500,
18482, 18457, 18464, 18534, 18657, 18516, 18424, 18435, 18529,
18651, 18445, 18537, 18681, 18444, 18465, 18543, 18559, 18429,
18415, 18419, 18527, 18473, 18393, 18403, 18398, 18636, 18594,
18612, 18641, 18509, 18592, 18480, 18551, 18646, 18571, 18548,
18506, 18666, 18507, 18696, 18642, 18484, 18567, 18703, 18477,
18544, 18687, 18697, 18550, 18699, 18667, 18532, 18684, 18472,
18545, 18643, 18557, 18560, 18447, 18604, 18617, 18570, 18414,
18399, 18375, 18613, 18449, 18688, 18579, 18608, 18590, 18461,
18633, 18675, 18631, 18706, 18609, 18605, 18652, 18489, 18450,
18522, 18581, 18501, 18514, 18438, 18589, 18463, 18588, 18580,
18531, 18538, 18494, 18471, 18632, 18510, 18432, 18420, 18417,
18413, 18392, 18410, 18698, 18700, 18701, 18513, 18566, 18669,
18433, 18491, 18395, 18547, 18377, 18597, 18658, 18660, 18602,
18671, 18610, 18440, 18572, 18614, 18456, 18546, 18478, 18710,
18483, 18578, 18689, 18670, 18638, 18634, 18524, 18650, 18616,
18692, 18462, 18499, 18496, 18625, 18428, 18422, 18389, 18412,
18387, 18434, 18549, 18481, 18442, 18486, 18488, 18425, 18615,
18396, 18368, 18405, 18379, 18690, 18492, 18523, 18644, 18452,
18645, 18708, 18661, 18517, 18508, 18575, 18504, 18476, 18497,
18502, 18582, 18426, 18519, 18453, 18596, 18520, 18586, 18530,
18624, 18659, 18505, 18574, 18576, 18694, 18460, 18515, 18423,
18503, 18427, 18653, 18639, 18533, 18469, 18587, 18539, 18455,
18437, 18430, 18711, 18400, 18380, 18369, 18391, 18366, 18402,
18384, 18365, 18363, 18360, 18359, 18374, 18569, 18627, 18623,
18674, 18599, 18521, 18470, 18672, 18573, 18607, 18421, 18563,
18620, 18677, 18518, 18618, 18704, 18536, 18451, 18637, 18647,
18648, 18525, 18474, 18685, 18493, 18585, 18603, 18479, 18561,
18565, 18564, 18439, 18621, 18512, 18390, 18495, 18397, 18411,
18373, 18388, 18406, 18376), class = "Date")
, total_values2 = c(2564,
1676, 1586, 1034, 2646, 2554, 1503, 1755, 1552, 2462, 713, 1794,
1158, 982, 277, 705, 594, 1403, 1805, 524, 409, 1420, 1487, 2434,
1319, 855, 661, 898, 707, 2044, 598, 1311, 1028, 8, 1555, 1650,
618, 1012, 2613, 663, 1331, 1264, 1626, 929, 1650, 697, 1822,
1771, 565, 3, 3, 3, 1, 911, 1340, 1699, 1631, 1738, 1491, 1379,
907, 1411, 1462, 831, 1937, 1353, 978, 1574, 1373, 567, 59, 315,
5, 9, 3, 9, 88, 515, 932, 488, 7, 9, 6, 1, 1, 1, 1, 1451, 604,
956, 366, 1675, 933, 566, 579, 690, 684, 882, 1755, 722, 157,
311, 820, 1717, 561, 956, 1490, 517, 702, 915, 869, 224, 49,
62, 868, 736, 7, 6, 5, 1721, 2812, 2015, 1579, 684, 1579, 630,
1031, 1649, 1104, 989, 599, 1683, 639, 1294, 1787, 636, 849,
1635, 682, 986, 1638, 1304, 1004, 1333, 1704, 734, 1578, 672,
889, 1665, 1012, 894, 420, 2795, 1553, 960, 62, 6, 4, 2289, 680,
1521, 1503, 2391, 1892, 610, 1599, 1366, 1813, 1087, 2203, 2764,
1794, 566, 665, 764, 1459, 543, 635, 430, 1972, 721, 1734, 1335,
751, 824, 563, 718, 1712, 570, 296, 53, 72, 39, 2, 6, 1320, 1272,
1376, 741, 938, 1615, 269, 558, 7, 965, 3, 2951, 1729, 1808,
2474, 1477, 2381, 402, 1257, 1798, 729, 831, 685, 517, 555, 1319,
1460, 1598, 1725, 1607, 815, 1687, 1414, 1301, 574, 497, 507,
1376, 228, 96, 8, 28, 5, 234, 922, 639, 484, 582, 578, 185, 1606,
5, 1, 3, 1, 1464, 545, 840, 1623, 644, 1684, 952, 1686, 667,
614, 1332, 501, 624, 481, 567, 1622, 155, 763, 704, 2928, 752,
1784, 937, 1519, 1871, 654, 1161, 1373, 1433, 763, 730, 123,
507, 148, 1799, 1659, 930, 558, 1686, 841, 528, 379, 258, 174,
8, 3, 4, 2, 2, 4, 1, 1, 1, 2, 1, 1, 1078, 1503, 1277, 1413, 2812,
777, 730, 1408, 1157, 2612, 79, 953, 1295, 1583, 700, 1418, 1506,
944, 720, 1612, 1620, 1688, 805, 702, 1465, 532, 1656, 2725,
646, 1041, 1074, 944, 438, 1114, 578, 2, 552, 4, 11, 4, 7, 4, 4)
, total_values1 = c(3491, 2301, 2172, 1306, 3557, 3489, 2089,
2328, 2162, 3377, 925, 2449, 1569, 1260, 373, 958, 861, 2018,
2472, 668, 536, 1986, 2076, 3269, 1799, 1093, 873, 1168, 909,
2568, 775, 1710, 1281, 11, 2100, 2272, 793, 1293, 3465, 858,
1719, 1807, 2222, 1190, 2197, 889, 2557, 2461, 760, 3, 4, 3,
1, 1182, 1848, 2302, 2210, 2415, 1940, 1910, 1213, 1916, 2069,
1101, 2492, 1847, 1258, 2359, 1770, 759, 71, 445, 10, 9, 3, 10,
117, 681, 1238, 665, 7, 13, 9, 1, 1, 1, 1, 2059, 790, 1215, 452,
2208, 1213, 708, 751, 911, 883, 1143, 2436, 919, 202, 386, 1060,
2336, 678, 1256, 2029, 673, 900, 1190, 1189, 280, 50, 81, 1129,
981, 10, 8, 7, 2368, 3984, 2505, 2157, 885, 2039, 825, 1394,
2189, 1478, 1283, 764, 2313, 803, 1821, 2416, 802, 1143, 2376,
878, 1274, 2201, 1762, 1312, 1900, 2307, 979, 2199, 882, 1130,
2227, 1273, 1169, 559, 3686, 1959, 1227, 71, 9, 4, 3094, 908,
2062, 2096, 3245, 2440, 825, 2162, 1882, 2464, 1528, 2964, 3655,
2436, 729, 846, 1023, 1985, 674, 829, 533, 2536, 895, 2379, 1896,
1001, 1097, 701, 938, 2270, 719, 396, 81, 97, 45, 2, 7, 1809,
1833, 1839, 955, 1185, 2304, 354, 709, 9, 1258, 3, 3918, 2468,
2536, 3393, 2059, 3005, 529, 1794, 2366, 901, 1117, 923, 676,
729, 1771, 2004, 2215, 2318, 2138, 1112, 2408, 1919, 1839, 761,
612, 667, 1767, 280, 137, 10, 33, 6, 308, 1190, 837, 644, 737,
776, 243, 2071, 6, 1, 3, 1, 2012, 676, 1078, 2148, 824, 2272,
1265, 2329, 872, 774, 1727, 633, 860, 626, 710, 2124, 196, 991,
926, 3882, 1006, 2426, 1173, 1994, 2608, 804, 1616, 1850, 1979,
977, 921, 155, 648, 183, 2503, 2196, 1181, 734, 2353, 1139, 692,
477, 327, 211, 11, 3, 4, 2, 2, 4, 1, 1, 1, 2, 1, 1, 1413, 1996,
1721, 1901, 3677, 1053, 953, 1915, 1673, 3440, 105, 1244, 1666,
2188, 892, 1826, 2120, 1252, 959, 2239, 2222, 2256, 1064, 950,
2111, 684, 2204, 3554, 815, 1332, 1456, 1200, 571, 1483, 755,
2, 692, 4, 14, 4, 10, 4, 4))
, row.names = c(NA, -350L), class = "data.frame")
my_data2 <- structure(list(month = c("2020-03", "2020-04", "2020-05", "2020-06", "2020-07", "2020-08", "2020-09", "2020-10", "2020-11", "2020-12", "2021-01", "2021-02", "2021-03")
, total_values1 = c(1, 42, 283, 8809, 26114, 22968, 29367, 38217, 65061, 82621, 71126, 60691, 43393)
, total_values2 = c(1, 42, 229, 6787, 20033, 17793, 22612, 29385, 48197, 62709, 52290, 43860, 31251), total_values2_claims = c(14, 97, 216, 183, 257, 240, 290, 471, 457, 1628, 680, 439, 298)
, total_values3 = c(16, 97, 225, 192, 259, 255, 305, 483, 481, 1744, 706, 458, 312))
, row.names = c(NA, -13L), class = c("tbl_df", "tbl", "data.frame"))
my_data3 <- structure(list(month = c("2020-03", "2020-04", "2020-05", "2020-06", "2020-07", "2020-08", "2020-09", "2020-10", "2020-11", "2020-12", "2021-01", "2021-02", "2021-03")
, total_values1 = c(1, 42, 283, 809, 26114, 22968, 29367, 38217, 65061, 82621, 71126, 60691, 43393)
, total_values2 = c(1, 42, 229, 6787, 20033, 17793, 22612, 29385, 48197, 62709, 52290, 43860, 31251))
, row.names = c(NA, -13L)
, class = c("tbl_df", "tbl", "data.frame"))
graph1 <- my_data1 %>%
ggplot() +
geom_line(aes(x=day,y=total_values1)) +
geom_point(aes(x=day,y=total_values1)) +
theme_bw() +
ylab('') +
xlab('') +
ggtitle('Graph 1')
graph2 <- my_data2 %>%
ggplot() +
geom_line(aes(x=month,y=total_values3,group=1),linetype='dotted') +
geom_point(aes(x=month,y=total_values3)) +
theme_bw() +
theme(axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=.5)) +
ylab('') +
xlab('') +
ggtitle('Graph 2')
graph3 <- my_data3 %>%
ggplot() +
geom_line(aes(x=month,y=total_values1,group=1, colour='black')) +
geom_point(aes(x=month,y=total_values1)) +
geom_line(aes(x=month,y=total_values2,group=1, colour='grey'), linetype='dashed') +
geom_point(aes(x=month,y=total_values2)) +
scale_color_discrete(name = "Legend", labels = c("total_values1", "total_values2")) +
theme_bw() +
theme(axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=.5)) +
ylab('') +
xlab('') +
ggtitle('Graph 3')
top_row <- cowplot::plot_grid(graph1, graph2
, align = "h")
final_graph <- cowplot::plot_grid(top_row, graph3
, ncol = 1)
final_graph

ggplotly(final_graph)

Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với ví dụ cowplot::plot_grid() được cung cấp và điểm vào plotly::ggplotly(), sau đó lần theo nhánh geom không được hỗ trợ geom_GeomDrawGrob(). Hoàn tất khi biểu đồ được nhóm có thể được truyền vào ggplotly() mà không gặp lỗi đó và vẫn giữ tính tương tác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- r
- Lĩnh vực
- data-visualization
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100