Python/Matplotlib->;to_rgba:无效的rgba arg

Python/Matplotlib->;to_rgba:无效的rgba arg,python,matplotlib,colors,contour,Python,Matplotlib,Colors,Contour,我正在尝试绘制等高线,以前使用RGB元组指定颜色(所有等高线只有一个颜色)-但是,现在我从to_rgba得到一个ValueError: ValueError: to_rgba: Invalid rgba arg "1" to_rgb: Invalid rgb arg "1" cannot convert argument to rgb sequence 以下是一个例子: import numpy as np import matplotlib.pyplot as plt grid = np.r

我正在尝试绘制等高线,以前使用RGB元组指定颜色(所有等高线只有一个颜色)-但是,现在我从to_rgba得到一个ValueError:

ValueError: to_rgba: Invalid rgba arg "1"
to_rgb: Invalid rgb arg "1"
cannot convert argument to rgb sequence
以下是一个例子:

import numpy as np
import matplotlib.pyplot as plt
grid = np.random.random((10,10))
contours = np.linspace(0, 1, 10)
现在这个工作

plt.contour(grid, levels = contours, colors = 'r')
plt.show()
但这是行不通的

plt.contour(grid, levels = contours, colors = (1,0,0))
plt.show()

是我做错了什么,还是Matplotlib中存在此错误(/新功能)?谢谢。

正如评论中指出的,
plt.contour()
需要一系列颜色。如果要指定RGB元组,请将其作为此类序列的第一个元素

plt.contour(grid, levels = contours, colors = ((1,0,0),) )


这不是你所期望的吗<代码>颜色采用一系列颜色。在您的例子中,它尝试将
1
,而不是(1,0,0)解释为rgb颜色
colors=“#ff0000”
显示正常工作。
plt.contour(grid, levels = contours, colors = [(1,0,0),] )