Skip to content

subplot() with bar and pie chart creates unnecessary attribute and warning #2437

Open
@Mkranj

Description

@Mkranj

I'm trying to make a single chart that has both a bar chart and a relevant pie using subplot(). Subplot is optimal because I'd like the users to be able to screenshot both charts at once. Here is the code:

library(dplyr)
library(plotly)

bar_info <- data.frame(
  Group = rep(c("first", "second", "third"), 2),
  values_monthly = c(100, 200, 300, 400, 500, 600),
  month = rep(c("April", "May"), each = 3) %>% as.factor()
)
pie_info <- group_by(bar_info, Group) %>%
  summarise(values_total = sum(values_monthly))

colors = c("red", "blue", "yellow")

bar_chart <- plot_ly(bar_info, type = "bar",
                     x = ~ month, y = ~ values_monthly, color = ~Group,
                     colors = colors)

pie_chart <- plot_ly(pie_info, type = "pie",
                     labels = ~Group, values = ~values_total,
                     marker = list(colors = colors),
                     # setting up pie to the right
                     domain = list(x = c(0.9, 1), y = c(0,1)),
                     showlegend = F
                     )
    
combined_chart <- subplot(bar_chart, pie_chart, nrows = 1, 
        widths = c(0.9, 0.1)) 

combined_chart

Now, the most important thing, the chart looks as it should.
However, it displays these warnings:

Warning messages:
1: Can't display both discrete & non-discrete data on same axis 
2: 'layout' objects don't have these attributes: 'NA'
Valid attributes include:
'_deprecated', 'activeshape', 'annotations', 'autosize', 'autotypenumbers', 'calendar', 'clickmode', 'coloraxis', 'colorscale', 'colorway', 'computed', 'datarevision', 'dragmode', 'editrevision', 'editType', 'font', 'geo', 'grid', 'height', 'hidesources', 'hoverdistance', 'hoverlabel', 'hovermode', 'images', 'legend', 'mapbox', 'margin', 'meta', 'metasrc', 'modebar', 'newshape', 'paper_bgcolor', 'plot_bgcolor', 'polar', 'scene', 'selectdirection', 'selectionrevision', 'separators', 'shapes', 'showlegend', 'sliders', 'smith', 'spikedistance', 'template', 'ternary', 'title', 'transition', 'uirevision', 'uniformtext', 'updatemenus', 'width', 'xaxis', 'yaxis', 'barmode', 'bargap', 'mapType'

How can I get rid of them? I've tried using shareX and shareY set to F or using add_trace for the pie, no help.
When I open the JSON with plotly_json(combined_chart), I can see that the layout object has a new, unneeded object NA2. This is probably related to the problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions