I have been experiencing errors while generating charts using Plotly and it seems to be affecting most of the charts I try producing on it. The error also seems to be a duplicate across all the failures. I am using Jupyter notebook (Anaconda 3, Python 3.6).
Code that fails to generate output is found below (but my data table and everything else is correct).
** I am unsure if there's some problem with the Plotly library (I'm using Plotly's latest that I installed using "Pip install 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
Update:
After further looking into the issue, the problem is with the cufflinks internal files. Cufflinks is having compatibility issues with the plotly latest version, which is dicussed in this Github Issue
, You could try either downgrading to `plotly 2.7' using the below commands. So that these errors can be eliminated.
pip uninstall plotly
pip install plotly==2.7.0
As you can see in the logs, please refer the below line, which tells us the actual problem.
--> 199 layout=Layout(theme_data['layout'])
The error thrown for that lines is.
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...
So you need to change the layout
object's bgcolor
property to something other than pearl02
, which seems to be the issue, You could change the layout object property as.
layout = {
'bgcolor': '#ffffff'
}
Please use the below reference link to know about the different ways of setting color values.
As of June 2019 this will get you up and running. Install cufflinks 0.13.0 with...
conda install -c conda-forge cufflinks-py
then install/downgrade plotly to 2.7.0 with ...
conda install plotly=2.7.0
Cufflinks guys have been working on the fix for sometime, but it's yet to emerge. Big job apparently.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With