plotly / plotly/plotly.R

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

オープン
#2,437 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
R
スター
2.7k
フォーク
641
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

再現可能な R の例を実行し、plotly_json(combined_chart) を調べて、subplot によって生成された layout と予期しない NA2 オブジェクトに注目してください。subplot が棒グラフと円グラフの layout をどのように結合するかを追跡します。完了の条件は、例がどちらの警告も表示せず、不要な layout 属性も含まずにレンダリングされることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
plotly, r
領域
data-visualization
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。