绘图值错误 - 颜色属性无效

问题描述 投票:0回答:4

我在使用 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
python anaconda jupyter-notebook plotly
4个回答
13
投票

更新:

进一步调查问题后,问题出在袖扣内部文件上。 Cufflinks 与最新版本的plotly存在兼容性问题,这在

Github Issue
中进行了讨论,您可以尝试使用以下命令降级到“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'
}

请使用以下参考链接了解设置颜色值的不同方法。

  1. 网页颜色

1
投票

截至 2019 年 6 月,这将使您能够启动并运行。 安装袖扣 0.13.0 与...

conda install -c conda-forge cufflinks-py

然后使用...安装/降级到 2.7.0

conda install plotly=2.7.0

袖扣人员已经致力于解决这个问题有一段时间了,但尚未出现。 显然是一项伟大的工作。


0
投票

研发找到这个解决方案后

只需在 C 盘中搜索 cufflinks 文件夹即可。您将在文件夹中获得.config文件。在记事本中打开该文件。将主题更改为“太阳能”(“主题”:“太阳能”)

错误将被解决


0
投票

对于 rgba,问题与

a
类型不安全有关。

我在这里对袖扣叉子进行了一些修复:

https://github.com/santosjorge/cufflinks/pull/288

可以按照PR中的描述直接安装

© www.soinside.com 2019 - 2024. All rights reserved.