train_class = train_df['Class'].value_counts().sortlevel()
my_colors = 'rgbkymc' #red, green, blue, black, etc.
train_class.plot(kind='bar', color=my_colors)
plt.grid()
plt.show()
我越来越:
Value Error : Invalid RGBA argument : 'rgbkymc'
我无法理解为什么会出现此错误,因为我已经检查了所有内容并且看起来还不错。
任何人都可以帮我找出错误吗?
KeyError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\matplotlib\colors.py in to_rgba(c, alpha)
131 try:
--> 132 rgba = _colors_full_map.cache[c, alpha]
133 except (KeyError, TypeError): # Not in cache, or unhashable.
KeyError: ('rgbkymc', None)
原文由 dhruv bhardwaj 发布,翻译遵循 CC BY-SA 4.0 许可协议
Dataframe.plot()
实际上并没有 _采用color
参数_。如果您想使用简单的颜色序列,则必须直接调用matplotlib.pyplot.bar()
调用(但请注意,下面列出了更好的选项)。如果您决定直接使用
matplotlib.pyplot.bar()
,那么请考虑它是color
参数然后只采用一个 _有效的颜色值_,所以'r'
-b27 或 –b5cf4bfea72d64a452d69fd27b'k'
26---
,或 一系列 这样的颜色值(bar()
的文档 称它为 _数组_)。名称 列表 将起作用:文档指出序列的长度应等于绘制的条数:
但是,在此处将 颜色映射 传递给
Dataframe.plot()
更容易。 彩色贴图 是获得不同条形颜色的方便快捷的途径。您可以将一个作为colormap
关键字参数传入,这可以是命名映射(作为字符串):或来自
matplotlib.cm
模块的实际 matplotlib 颜色映射对象:如果您想坚持使用
matplotlib.pyplot.bar()
,但使用颜色图,则从颜色图创建您的颜色系列。 Pandas 使用np.linspace()
为此,我们也这样做:对于条形图,我会选择 定性颜色 图;每个名称都是
cm
颜色映射模块的一个属性。在上面,cm.Paired
就是这样一张彩色地图。使用介于 0.0 和 1.0 之间的一系列浮点数调用颜色图,可以返回在范围的每个“百分比”处选择的颜色。您也可以传入一个整数序列来索引单个颜色。回到 Pandas,您也可以使用
matplotlib.colors.ListedColormap
实例 从手工挑选的颜色序列创建颜色图:然后将其传递给您的数据
.plot()
调用: