ggforce
ggforce copied to clipboard
facet_col with ggplotly
Hi all,
I've used several functions from ggforce in ggplots, but I found out that different facet sizes with ggforce::facet_col(<vars>, scales = 'free', space = 'free', strip.position = 'top') are not kept different when converted to plotly by ggplotly. It also doesn't work with facet_grid(<vars>, scales = 'free', space = 'free').
Is there any way to fix it?
I don't know, where is better to be posted, here or on some ggplotly-related resource.
Thank you in advance!
ggplot

ggplotly

data to reproduce
library(tidyverse)
library(plotly)
# n_dp_no %>% dput()
n_dp_no <-
structure(list(plate_id = c("plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)", "plate #1 (#8)",
"plate #1 (#8)", "plate #1 (#8)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)", "plate #2 (#14)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)", "plate #3 (CBS vs PBS)",
"plate #3 (CBS vs PBS)"), sample = c("10.1", "10.1", "10.1",
"10.1", "10.1", "10.1", "10.1", "10.1", "10.1", "10.1", "17.1",
"17.1", "17.1", "17.1", "17.1", "17.1", "17.1", "17.1", "17.1",
"17.1", "17.1", "17.1", "24.1", "24.1", "24.1", "24.1", "24.1",
"24.1", "24.1", "24.1", "24.1", "24.1", "24.1", "3.1", "3.1",
"3.1", "3.1", "3.1", "3.1", "3.1", "3.1", "3.1", "3.1", "3.1",
"3.1", "31.1", "31.1", "31.1", "31.1", "31.1", "31.1", "31.1",
"31.1", "31.1", "31.1", "31.1", "7.2", "7.2", "7.2", "7.2", "7.2",
"7.2", "7.2", "7.2", "7.2", "7.2", "7.2", "7.2", "10.1", "10.1",
"10.1", "10.1", "10.1", "10.1", "10.1", "10.1", "10.1", "10.1",
"10.1", "17.1", "17.1", "17.1", "17.1", "17.1", "17.1", "17.1",
"17.1", "17.1", "17.1", "17.1", "17.1", "24.1", "24.1", "24.1",
"24.1", "24.1", "24.1", "24.1", "24.1", "24.1", "24.1", "24.1",
"24.1", "3.1", "3.1", "3.1", "3.1", "3.1", "3.1", "3.1", "3.1",
"3.1", "3.1", "3.1", "31.1", "31.1", "31.1", "31.1", "31.1",
"31.1", "31.1", "31.1", "31.1", "31.1", "31.1", "31.1", "7.2",
"7.2", "7.2", "7.2", "7.2", "7.2", "7.2", "7.2", "7.2", "7.2",
"7.2", "7.2", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS",
"CBS", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS",
"CBS", "CBS", "CBS", "PBS", "PBS", "PBS", "PBS", "PBS", "PBS",
"PBS", "PBS", "PBS", "PBS", "PBS", "PBS", "PBS", "PBS", "PBS",
"PBS", "PBS", "PBS"), estimate = c(1481.77001910824, 331.919067331913,
4893.68661185126, 1303.39649961716, 4544.64285333721, 15383.3770905462,
12599.8106133464, 10963.7356391472, 11705.7970450441, 10906.8747878499,
343.094350495998, 331.919067331913, 1134.15647248089, 1276.13498500408,
8806.16233043394, 8806.16233043394, 12119.4748766097, 10600.1488790157,
9287.93579832765, 9434.91772810324, 10866.0106936551, 10384.4343191496,
469.682044671336, 287.25176905765, 2651.25080866036, 2034.22409638029,
7953.75242598108, 15383.3770905462, 16324.4012519449, 11389.7568502008,
10056.2090134033, 11662.6503075882, 10663.39911189, 425.378328334694,
326.59510765643, 1965.56236927358, 1166.5707597846, 7264.13299793349,
6965.91613778612, 15383.3770905462, 7867.80152279099, 8968.41873760578,
7035.31267451817, 8852.23368405942, 7378.13686013938, 381.586028862814,
311.577726307473, 2785.34161035394, 1616.72536758064, 10555.3478824024,
12535.9314710595, 13300.2422548716, 8933.8355600075, 8215.54233091005,
9995.09961902214, 9210.77613014994, 561.697191482336, 340.231743570272,
1734.18491545418, 1392.88127456217, 9052.08713737373, 4131.28752861564,
25723.6958297633, 13985.6387431903, 11687.7089330174, 11197.4230694589,
10543.180662729, 10149.5615336255, 423.788451651592, 358.199449262415,
2690.55699008701, 1296.25829610619, 22429.2003948349, 5593.65136876669,
13997.1287715982, 14805.5601005546, 13195.4692531629, 13335.9478950714,
14407.8542588539, 473.824699862608, 383.238071642838, 1592.79423944156,
1555.23653017758, 15623.3324378105, 7017.39790277947, 10720.9347667586,
10438.4061323418, 9798.77093492688, 9325.04321159747, 10427.3635263334,
10658.9436510283, 386.607634531179, 294.737738134997, 2107.40609298023,
2107.40609298023, 22429.2003948349, 11384.7567272855, 15258.6383676464,
11899.2517765636, 10047.1578198768, 10391.2346233924, 11084.2746428854,
11768.5473686168, 463.865020124582, 346.82452802453, 2339.13263425982,
1271.36535495478, 5845.19629116018, 9515.45964370189, 6894.99625729714,
9061.91516180442, 7687.3635799189, 9146.53317851579, 8441.68283738097,
630.548533173942, 349.603122394088, 3181.28215128355, 1362.95333190275,
20852.0756531691, 7430.72553792317, 23701.2661707456, 18966.654836822,
12208.0001788185, 12374.2851340289, 12903.6824788881, 13172.5744079599,
557.934475735334, 314.166720098586, 2256.04554269906, 1322.13908628485,
13133.5350112718, 5514.76918933769, 9998.3966331195, 11226.6156218756,
9363.40312051132, 8951.94770630479, 9446.33868377779, 9664.04383484868,
926.006187103898, 420.265555640375, 1134.80921523426, 670.155729487554,
588.773426283494, 519.558365822292, 509.233889462169, 414.908476355683,
520.802594874314, 484.219290029219, 576.675196623436, 498.95559741815,
653.671888897547, 592.277165011069, 759.772751296647, 465.919370170694,
79.5148474714774, 927.550742772539, 927.550742772539, 848.261173975069,
479.733065856251, 874.788526256365, 825.757566471482, 569.655421722421,
529.078815767855, 489.782272141598, 474.695434939461, 523.668883073639,
489.766587358034, 540.488742501916, 469.735093503232, 546.689861102288,
486.525571967187, 802.412056117445, 383.593227938633, 664.730292425186,
927.550742772539)), row.names = c(NA, -175L), class = c("tbl_df",
"tbl", "data.frame"))
p <-
ggplot(n_dp_no, aes(sample, estimate)) +
geom_boxplot(mapping=aes(color=sample), width=.3, outlier.shape = NA) +
scale_size_continuous(guide=NULL) +
scale_color_discrete(guide=NULL) +
cowplot::theme_half_open(10) +
cowplot::background_grid() +
labs(y='conc, ug/ml') +
ggforce::facet_col(~plate_id, scales = 'free', space = 'free', strip.position = 'top') +
coord_flip()
p
p %>% ggplotly()