Python MatPlotLib用于打印的随机颜色

Python MatPlotLib用于打印的随机颜色,python,numpy,matplotlib,Python,Numpy,Matplotlib,这是我的密码: import numpy as np import matplotlib.dates as mdates fig, ax = plt.subplots(figsize = (10,10)) dateList = [] countries = [] casesList = [] colors = [] for e in sorted_date: countries.append(e[0]) dateList.append(e[1][0]) casesList

这是我的密码:

import numpy as np
import matplotlib.dates as mdates


fig, ax = plt.subplots(figsize = (10,10))

dateList = []
countries = []
casesList = []

colors = []

for e in sorted_date:

  countries.append(e[0])
  dateList.append(e[1][0])
  casesList.append(e[1][1])

# plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))

for country, date, case in zip(countries, dateList, casesList):
  ax.scatter(date, case, c = np.random.rand(3,), edgecolors='none', label=country )

plt.legend(loc=1)
plt.show()
我的散点图有效,但 我一直收到颜色RGB或RGBA的错误消息,如下所示:

“c”参数看起来像单个数字RGB或RGBA序列,应避免使用,因为如果其长度与“x”和“y”匹配,则值映射将具有优先权。如果确实要为所有点指定相同的RGB或RGBA值,请使用具有单行的二维阵列


我认为我随机化的颜色有问题,但不确定该怎么解决

您可以将RGB元组转换为十六进制字符串:


您可以将RGB元组转换为十六进制字符串:


您需要完全按照错误建议执行操作:为RGB阵列使用具有单行的2D阵列:

c = np.random.rand(1,3)

您需要完全按照错误建议执行操作:为RGB阵列使用具有单行的2D阵列:

c = np.random.rand(1,3)

哦,明白了,我还不太熟悉rgb。但是感谢您的链接。Matplotlib支持各种输入:
单色
[单色]
[c1,c2,…cn]
,其中每种颜色可以是六位字符串或rgb(a)元组。在这里,我们只是采取了额外的步骤,使您的0..1随机成为0..255。哦,明白了,我还不太熟悉rgb。但是感谢您的链接。Matplotlib支持各种输入:
单色
[单色]
[c1,c2,…cn]
,其中每种颜色可以是六位字符串或rgb(a)元组。在这里,我们只是采取了额外的步骤,使您的0..1随机成为0..255。