2017-08-23 11 views
0

MatPlotLib生成円グラフをPlotly辞書に変換しようとすると、次のエラーが表示されます。PlotlyEmptyDataError:空のデータリストが見つかりました。送信しているデータオブジェクトのリストにデータが入力されていることを確認してから、もう一度お試しください。私はplotly_figを実行した場合matplotlib円グラフをプロットに変換する

実際、は(。PLSスクリプト怒鳴るを参照してください)私は、データが空の取得:

{'data': [], 
'layout': {'annotations'...etc. 
私は円グラフの制限を見つけることができなかったので、私は私がしなければわからない

何か問題でも?

#import pylab 
import matplotlib.pyplot as plt 
import matplotlib as mpl 
import plotly 
# Plotly 
import plotly.plotly as py 
import plotly.tools as tls 
import plotly.plotly as py 
import plotly.graph_objs as go 
plotly.offline.init_notebook_mode() 

mpl.rcParams['font.size'] = 7 
fig, ax = plt.subplots() 
l = ax.pie([1,0.2, 0.3,0.1,0.4,7,50,35,5,2],#[0, 0.1, 0, 0.1,0,0.1,0,0.1,0,0.1], 
      labels=("one","two","three made up sentences","four is also ther","five becomes a sentence","six it is","seven long", "eight long sent", "nine, as bla bel mo","ten is also short"), 
      #labels=("","","","","","six it is","seven long", "eight long sent", "nine, as bla bel mo","ten is also short"), 
      colors=("b","g","r","y", "b","g","r","y","g","black"), 
      startangle =20, 
      radius=1, 
      explode = [0.2, 0.2, 0.2, 0.2, 0.2, 0.02, 0.02, 0.02, 0.02, 0.02 ], 
      frame=True, # Plot axes frame with the chart if true. 
      labeldistance = 1.1) #returns a list of matplotlib.patches.Wedge objects 
#l_in = ax.pie([1,0.2, 0.3,0.1,0.4,7,50,35,5,2],#[0, 0.1, 0, 0.1,0,0.1,0,0.1,0,0.1], 
#   colors=("w","w","w","w", "w","w","w","w","w","w"), 
#   startangle =20, 
#   radius=0.4, 
#   frame=True) 

l2 = ax.pie([1,0.2, 0.3,0.1,0.4,7,50,35,5,2],#[0, 0.1, 0, 0.1,0,0.1,0,0.1,0,0.1], 
      colors=("r","g","b","w", "g","b","y","r","w","black"), 
      explode = [0.2, 0.2, 0.2, 0.2, 0.2, 0.02, 0.02, 0.02, 0.02, 0.02 ], 
      startangle =20, 
      radius=1-0.7, 
      frame=True) # Plot axes frame with the chart if true. 
ax.axis('equal') 

plotly_fig = tls.mpl_to_plotly(fig) 
fig = go.Figure(data=data, layout=layout) # help(go.Figure) -['data', 'frames', 'layout'] 
plotly.offline.iplot(plotly_fig, filename='test_MatPlotLib_modif_Plotly') 

はplotlyのmpl_to_plotlyは、現在(2017年8月現在)円グラフを変換することができないが、それは短いようにするには、

答えて

2

、ありがとうございました。

より長いバージョン:matplotlib円グラフは、matplotlib.patches.Wedgeオブジェクトで構成されています。それらはmatplotlib.patches.Patchです。 mpl_to_plotlyがパッチを検出すると、パスに変換され、棒グラフの一部であるとみなされます。この場合ではないので、あきらめて警告をスローする「棒グラフの一部ではないパスオブジェクトが見つかりました。無視しています。」。したがって、生成された図はデータを持たず、質問のようなエラーがスローされます。

+0

この問題を解決するために関連する問題があります。 Plotlyの保守担当者はこのバグを認識していますか?私たちは助けることができますかこの問題を解決するために開かれた問題があれば、それはさらに役に立ちます – JustInTime

+0

@JustInTimeまずはバグではなく、むしろ実装されていない機能です。コードが警告を発すると、開発者は実際にこの機能が欠落していることを認識していることを示唆しています。 matplotlibのような他の真のオープンソースプロジェクトとしてはプロットされていないので、ソースにプルリクエストなどを提供することはできません。しかし、あなたは[community.plot.ly](https://community.plot.ly)でそれを言及し、人々がそれについて何を言わなければならないかを見ることができます。 – ImportanceOfBeingErnest

+0

私はここでバグという言葉を誤解した場合、あなたの応答に感謝し、私に言い訳をしてください。私はplot.lyコミュニティでそれを言及し、私が助けることができるかどうかを見ます – JustInTime

関連する問題