Add a legend into the sidebar of a shiny flexdashboardreproducing shiny using flexdashboard templateR + Shiny which hammer? straight Shiny, flexdashboard or shinydashboard?Flexdashboard Storyboard Shinycrosstalk's filter_select doesn't filter the graphflexdashboard .storyboard ShinyShiny flexdashboard - plot not renderingCreate reactive selectInput - flexdashboard with ShinyMinMax plot as ggplotscoping in shiny flexdashboardR flexdashboard and shiny interactive plot
Skipping same old introductions
What is a Written Word™?
What does "autolyco-sentimental" mean?
Using Forstner bits instead of hole saws
How can I perform a deterministic physics simulation?
Is it uncompelling to continue the story with lower stakes?
Posts Pagination Problem
Accurately recalling the key - can everyone do it?
Is it okay to use different fingers every time while playing a song on keyboard? Is it considered a bad practice?
Why do rocket engines use nitrogen actuators to operate the fuel/oxidiser valves instead of electric servos?
How do people drown while wearing a life jacket?
C# TCP server/client class
Piece de Resistance - Introduction & Ace and A's
State of a Robot
Is there a booking app or site that lets you specify your gender for shared dormitories?
Formal mathematical definition of renormalization group flow
Suppressing analytical evaluation in NDSolve
Has J.J.Jameson ever found out that Peter Parker is Spider-Man?
Write The Shortest Program to Calculate Height of a Binary Tree
What license to choose for my PhD thesis?
Why is it to say 'paucis post diebus'?
What is the difference between "un plan" and "une carte" (in the context of map)?
“The Fourier transform cannot measure two phases at the same frequency.” Why not?
Can a House-impeached but not Senate-convicted president run for a second term?
Add a legend into the sidebar of a shiny flexdashboard
reproducing shiny using flexdashboard templateR + Shiny which hammer? straight Shiny, flexdashboard or shinydashboard?Flexdashboard Storyboard Shinycrosstalk's filter_select doesn't filter the graphflexdashboard .storyboard ShinyShiny flexdashboard - plot not renderingCreate reactive selectInput - flexdashboard with ShinyMinMax plot as ggplotscoping in shiny flexdashboardR flexdashboard and shiny interactive plot
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Am after some advice in fine-tuning a legend in the sidebar of my flexdashboard. (I'm basically on a journey of recreating Tableau functionality with R).

As you can see I've managed to get something together but I'd really be interested in:
matching the background colour to the sidebar
positioning it better, so that there is less "white space" around it and it's left aligned
sizing of the font (and squares) a bit bigger than it's currently
appearing.
Really appreciate any tips you all might be able to provide.
Extra bonus points of you can offer any guidance towards achieving this with a ggplotly (my next step), so that the legend is interactive via clicks).
---
title: "dash"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```r setup, include=FALSE
library(tidyverse)
library(plotly)
data_set <- iris %>%
gather(key, value, -Species) %>%
group_by(Species, key) %>%
summarise(average_value = mean(value))
```
SideBar .sidebar
---
```r
# radio button
radioButtons("species_filter", "Species:", choices = c("All", levels(data_set$Species)), selected = "All")
# this function retrieves the legend out of the ggplot
g_legend <- function(a.gplot)
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)
# plot the extracted legend in the sidebar
renderPlot(gridExtra::grid.arrange(g_legend(plot())))
```
Column
-----------------------------------------------------------------------
### Chart A
```r
# stacked bar plot
plot <- reactive(
data_set %>%
if (input$species_filter == "All") .
else filter(., Species == input$species_filter) %>%
ggplot() +
aes(key, average_value, fill = Species) %>%
geom_bar(stat = "identity")
)
renderPlot(plot() + theme(legend.position="none"))
```
r ggplot2 shiny flexdashboard ggplotly
add a comment |
Am after some advice in fine-tuning a legend in the sidebar of my flexdashboard. (I'm basically on a journey of recreating Tableau functionality with R).

As you can see I've managed to get something together but I'd really be interested in:
matching the background colour to the sidebar
positioning it better, so that there is less "white space" around it and it's left aligned
sizing of the font (and squares) a bit bigger than it's currently
appearing.
Really appreciate any tips you all might be able to provide.
Extra bonus points of you can offer any guidance towards achieving this with a ggplotly (my next step), so that the legend is interactive via clicks).
---
title: "dash"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```r setup, include=FALSE
library(tidyverse)
library(plotly)
data_set <- iris %>%
gather(key, value, -Species) %>%
group_by(Species, key) %>%
summarise(average_value = mean(value))
```
SideBar .sidebar
---
```r
# radio button
radioButtons("species_filter", "Species:", choices = c("All", levels(data_set$Species)), selected = "All")
# this function retrieves the legend out of the ggplot
g_legend <- function(a.gplot)
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)
# plot the extracted legend in the sidebar
renderPlot(gridExtra::grid.arrange(g_legend(plot())))
```
Column
-----------------------------------------------------------------------
### Chart A
```r
# stacked bar plot
plot <- reactive(
data_set %>%
if (input$species_filter == "All") .
else filter(., Species == input$species_filter) %>%
ggplot() +
aes(key, average_value, fill = Species) %>%
geom_bar(stat = "identity")
)
renderPlot(plot() + theme(legend.position="none"))
```
r ggplot2 shiny flexdashboard ggplotly
I'm assuming this is a limitation of Flexdashboard, at the moment. But would love those plotly legends that allow clicking to filter... feature request, I guess.
– Julian Tagell
Apr 2 at 23:35
add a comment |
Am after some advice in fine-tuning a legend in the sidebar of my flexdashboard. (I'm basically on a journey of recreating Tableau functionality with R).

As you can see I've managed to get something together but I'd really be interested in:
matching the background colour to the sidebar
positioning it better, so that there is less "white space" around it and it's left aligned
sizing of the font (and squares) a bit bigger than it's currently
appearing.
Really appreciate any tips you all might be able to provide.
Extra bonus points of you can offer any guidance towards achieving this with a ggplotly (my next step), so that the legend is interactive via clicks).
---
title: "dash"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```r setup, include=FALSE
library(tidyverse)
library(plotly)
data_set <- iris %>%
gather(key, value, -Species) %>%
group_by(Species, key) %>%
summarise(average_value = mean(value))
```
SideBar .sidebar
---
```r
# radio button
radioButtons("species_filter", "Species:", choices = c("All", levels(data_set$Species)), selected = "All")
# this function retrieves the legend out of the ggplot
g_legend <- function(a.gplot)
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)
# plot the extracted legend in the sidebar
renderPlot(gridExtra::grid.arrange(g_legend(plot())))
```
Column
-----------------------------------------------------------------------
### Chart A
```r
# stacked bar plot
plot <- reactive(
data_set %>%
if (input$species_filter == "All") .
else filter(., Species == input$species_filter) %>%
ggplot() +
aes(key, average_value, fill = Species) %>%
geom_bar(stat = "identity")
)
renderPlot(plot() + theme(legend.position="none"))
```
r ggplot2 shiny flexdashboard ggplotly
Am after some advice in fine-tuning a legend in the sidebar of my flexdashboard. (I'm basically on a journey of recreating Tableau functionality with R).

As you can see I've managed to get something together but I'd really be interested in:
matching the background colour to the sidebar
positioning it better, so that there is less "white space" around it and it's left aligned
sizing of the font (and squares) a bit bigger than it's currently
appearing.
Really appreciate any tips you all might be able to provide.
Extra bonus points of you can offer any guidance towards achieving this with a ggplotly (my next step), so that the legend is interactive via clicks).
---
title: "dash"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```r setup, include=FALSE
library(tidyverse)
library(plotly)
data_set <- iris %>%
gather(key, value, -Species) %>%
group_by(Species, key) %>%
summarise(average_value = mean(value))
```
SideBar .sidebar
---
```r
# radio button
radioButtons("species_filter", "Species:", choices = c("All", levels(data_set$Species)), selected = "All")
# this function retrieves the legend out of the ggplot
g_legend <- function(a.gplot)
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)
# plot the extracted legend in the sidebar
renderPlot(gridExtra::grid.arrange(g_legend(plot())))
```
Column
-----------------------------------------------------------------------
### Chart A
```r
# stacked bar plot
plot <- reactive(
data_set %>%
if (input$species_filter == "All") .
else filter(., Species == input$species_filter) %>%
ggplot() +
aes(key, average_value, fill = Species) %>%
geom_bar(stat = "identity")
)
renderPlot(plot() + theme(legend.position="none"))
```
r ggplot2 shiny flexdashboard ggplotly
r ggplot2 shiny flexdashboard ggplotly
asked Mar 27 at 2:00
Julian TagellJulian Tagell
134 bronze badges
134 bronze badges
I'm assuming this is a limitation of Flexdashboard, at the moment. But would love those plotly legends that allow clicking to filter... feature request, I guess.
– Julian Tagell
Apr 2 at 23:35
add a comment |
I'm assuming this is a limitation of Flexdashboard, at the moment. But would love those plotly legends that allow clicking to filter... feature request, I guess.
– Julian Tagell
Apr 2 at 23:35
I'm assuming this is a limitation of Flexdashboard, at the moment. But would love those plotly legends that allow clicking to filter... feature request, I guess.
– Julian Tagell
Apr 2 at 23:35
I'm assuming this is a limitation of Flexdashboard, at the moment. But would love those plotly legends that allow clicking to filter... feature request, I guess.
– Julian Tagell
Apr 2 at 23:35
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55368695%2fadd-a-legend-into-the-sidebar-of-a-shiny-flexdashboard%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.
Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55368695%2fadd-a-legend-into-the-sidebar-of-a-shiny-flexdashboard%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I'm assuming this is a limitation of Flexdashboard, at the moment. But would love those plotly legends that allow clicking to filter... feature request, I guess.
– Julian Tagell
Apr 2 at 23:35