Plotlyを使用してグラフを生成しているときにエラーが発生しました。これは、Plotlyで作成しようとするほとんどのグラフに影響しているようです。また、エラーはすべての障害で重複しているようです。私はJupyterノートブックを使用しています(Anaconda 3、Python 3.6))。
出力の生成に失敗するコードを以下に示します(ただし、私のデータテーブルとその他すべては正しい)。
** Plotlyライブラリに問題があるかどうかわかりません(「Pip install Plotly」を使用してインストールした最新のPlotlyを使用しています)
import pandas as pd # package for high-performance, easy-to-use data
structures and data analysis
import numpy as np # fundamental package for scientific computing with Python
import matplotlib
import matplotlib.pyplot as plt # for plotting
import seaborn as sns # for making plots with seaborn
color = sns.color_palette()
import plotly.offline as py
py.init_notebook_mode(connected=True)
from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected=True)
import plotly.graph_objs as go
import plotly.offline as offline
offline.init_notebook_mode()
from plotly import tools
import plotly.tools as tls
import squarify
from mpl_toolkits.basemap import Basemap
from numpy import array
from matplotlib import cm
# import cufflinks and offline mode
import cufflinks as cf
cf.go_offline()
# from sklearn import preprocessing
# # Supress unnecessary warnings so that presentation looks clean
import warnings
warnings.filterwarnings("ignore")
# # Print all rows and columns
pd.set_option('display.max_columns', None)
# pd.set_option('display.max_rows', None)
*************************************************
temp = application_train["TARGET"].value_counts()
df = pd.DataFrame({'labels': temp.index,
'values': temp.values
})
df.iplot(kind='scatter',labels='labels',values='values', title='Loan
Repayed or not')
ValueError Traceback (most recent call last)
<ipython-input-63-2c9a8a530884> in <module>()
3 'values': temp.values
4 })
----> 5 df.iplot(kind='scatter',labels='labels',values='values', title='Loan
Repayed or not')
C:\ProgramData\Anaconda3\lib\site-packages\cufflinks\plotlytools.py in
_iplot(self, data, layout, filename, sharing, kind, title, xTitle, yTitle,
zTitle, theme, colors, colorscale, fill, width, dash, mode, symbol, size,
barmode, sortbars, bargap, bargroupgap, bins, histnorm, histfunc,
orientation,
boxpoints, annotations, keys, bestfit, bestfit_colors, mean, mean_colors,
categories, x, y, z, text, gridcolor, zerolinecolor, margin, labels, values,
secondary_y, secondary_y_title, subplots, shape, error_x, error_y,
error_type,
locations, lon, lat, asFrame, asDates, asFigure, asImage, dimensions, asPlot,
asUrl, online, **kwargs)
698
bargap=bargap,bargroupgap=bargroupgap,
annotations=annotations,gridcolor=gridcolor
,
699
dimensions=dimensions,
--> 700
zerolinecolor=zerolinecolor,margin=margin,is3d='3d' in kind,**l_kwargs)
701
702 if not data:
C:\ProgramData\Anaconda3\lib\site-packages\cufflinks\tools.py in
getLayout(kind,
theme, title, xTitle, yTitle, zTitle, barmode, bargap, bargroupgap, margin,
dimensions, width, height, annotations, is3d, **kwargs)
197
198 theme_data = getTheme(theme)
--> 199 layout=Layout(theme_data['layout'])
200 layout['xaxis1'].update({'title':xTitle})
201 layout['yaxis1'].update({'title':yTitle})
C:\ProgramData\Anaconda3\lib\site-packages\plotly\graph_objs\_layout.py in
__init__(self, arg, angularaxis, annotations, autosize, bargap, bargroupgap,
barmode, barnorm, boxgap, boxgroupgap, boxmode, calendar, colorway,
datarevision,
direction, dragmode, font, geo, grid, height, hiddenlabels, hiddenlabelssrc,
hidesources, hoverdistance, hoverlabel, hovermode, images, legend, mapbox,
margin, orientation, paper_bgcolor, plot_bgcolor, polar, radialaxis, scene,
selectdirection, separators, shapes, showlegend, sliders, spikedistance,
template, ternary, title, titlefont, updatemenus, violingap, violingroupgap,
violinmode, width, xaxis, yaxis, **kwargs)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
__setattr__(self, prop, value)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
__setattr__(self, prop, value)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\graph_objs\_layout.py in
legend(self, val)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
__setitem__(self, prop, value)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
__setitem__(self, prop, value)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
_set_compound_prop(self, prop, val)
C:\ProgramData\Anaconda3\lib\site-packages\_plotly_utils\basevalidators.py in
validate_coerce(self, v)
C:\ProgramData\Anaconda3\lib\site-
packages\plotly\graph_objs\layout\_legend.py in
__init__(self, arg, bgcolor, bordercolor, borderwidth, font, orientation,
tracegroupgap, traceorder, x, xanchor, y, yanchor, **kwargs)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
__setattr__(self, prop, value)
C:\ProgramData\Anaconda3\lib\site-
packages\plotly\graph_objs\layout\_legend.py in
bgcolor(self, val)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
__setitem__(self, prop, value)
C:\ProgramData\Anaconda3\lib\site-packages\plotly\basedatatypes.py in
_set_prop(self, prop, val)
C:\ProgramData\Anaconda3\lib\site-packages\_plotly_utils\basevalidators.py in
validate_coerce(self, v, should_raise)
C:\ProgramData\Anaconda3\lib\site-packages\_plotly_utils\basevalidators.py in
raise_invalid_val(self, v)
ValueError:
Invalid value of type 'builtins.str' received for the 'bgcolor' property of
layout.legend
Received value: 'pearl02'
The 'bgcolor' property is a color and may be specified as:
- A hex string (e.g. '#ff0000')
- An rgb/rgba string (e.g. 'rgb(255,0,0)')
- An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
- An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
- A named CSS color:
aliceblue, antiquewhite, aqua, aquamarine, Azure,
beige, bisque, black, blanchedalmond, blue,
blueviolet, brown, burlywood, cadetblue,
chartreuse, chocolate, coral, cornflowerblue,
cornsilk, crimson, cyan, darkblue, darkcyan,
darkgoldenrod, darkgray, darkgrey, darkgreen,
darkkhaki, darkmagenta, darkolivegreen, darkorange,
darkorchid, darkred, darksalmon, darkseagreen,
darkslateblue, darkslategray, darkslategrey,
darkturquoise, darkviolet, deeppink, deepskyblue,
dimgray, dimgrey, dodgerblue, firebrick,
floralwhite, forestgreen, Fuchsia, gainsboro,
ghostwhite, gold, goldenrod, gray, grey, green,
greenyellow, honeydew, hotpink, indianred, Indigo,
ivory, Khaki, lavender, lavenderblush, lawngreen,
lemonchiffon, lightblue, lightcoral, lightcyan,
lightgoldenrodyellow, lightgray, lightgrey,
lightgreen, lightpink, lightsalmon, lightseagreen,
lightskyblue, lightslategray, lightslategrey,
lightsteelblue, lightyellow, Lime, limegreen,
linen, Magenta, maroon, mediumaquamarine,
mediumblue, mediumorchid, mediumpurple,
mediumseagreen, mediumslateblue, mediumspringgreen,
mediumturquoise, mediumvioletred, midnightblue,
mintcream, mistyrose, moccasin, navajowhite, navy,
oldlace, olive, olivedrab, orange, orangered,
orchid, palegoldenrod, palegreen, paleturquoise,
palevioletred, papayawhip, peachpuff, peru, pink,
Plum, powderblue, purple, red, rosybrown,
royalblue, saddlebrown, salmon, sandybrown,
seagreen, seashell, sienna, silver, skyblue,
slateblue, slategray, slategrey, snow, springgreen,
steelblue, tan, teal, thistle, tomato, turquoise,
Violet, wheat, white, whitesmoke, yellow,
yellowgreen
更新:
問題をさらに調べた後、問題はカフリンクスの内部ファイルにあります。カフリンクスは、この _Github Issue
_ で説明されているplotlyの最新バージョンとの互換性の問題を抱えています。以下のコマンドを使用して、「plotly 2.7」にダウングレードすることもできます。これらのエラーを排除できるように。
_pip uninstall plotly
pip install plotly==2.7.0
_
ログで確認できるように、実際の問題を伝える以下の行を参照してください。
--> 199 layout=Layout(theme_data['layout'])
その行にスローされたエラーです。
_ValueError:
Invalid value of type 'builtins.str' received for the 'bgcolor' property of
layout.legend
Received value: 'pearl02'
The 'bgcolor' property is a color and may be specified as:
- A hex string (e.g. '#ff0000')
- An rgb/rgba string (e.g. 'rgb(255,0,0)')
- An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
- An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
- A named CSS color:
aliceblue, antiquewhite, aqua, aquamarine, Azure...
_
したがって、layout
オブジェクトのbgcolor
プロパティを_pearl02
_以外の何かに変更する必要があります。これは問題のようです。レイアウトオブジェクトのプロパティを次のように変更できます。
_layout = {
'bgcolor': '#ffffff'
}
_
色の値を設定するさまざまな方法については、以下の参照リンクを使用してください。
2019年6月の時点で、これで準備が整います。カフリンクス0.13.0をインストール...
conda install -c conda-forge cufflinks-py
次にplotlyを2.7.0にインストール/ダウングレードして...
conda install plotly=2.7.0
カフリンクスの人たちはしばらくの間この修正に取り組んできましたが、まだ現れていません。どうやら大きな仕事。
R&Dがこのソリューションを見つけた後
Cドライブのcufflinksフォルダを検索するだけです。フォルダーに。configファイルが表示されます。ファイルをメモ帳で開きます。テーマを "solar"( "theme": "solar")に変更します
エラーは解決されます