目前我的代码设置如下:
import matplotlib.pyplot as plt
import numpy as np
plt.close('all')
nSub = 17
nMonths = 12
nYears=16
datalist = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q']
DATA = np.random.rand(nSub,nMonths,nYears)
DATA1 = np.random.rand(nSub,nMonths,nYears)
DIFF = DATA - DATA1
fig, ax = plt.subplots (nrows=1, ncols=1)
for imonth in range(12):
x = imonth + 1
x_sub = np.linspace(x-0.5, x+0.5, nSub)
for isub in range(len(datalist)):
x_plot = np.ones((nYears,), dtype=np.float32)*x_sub[isub]
y_plot = DIFF[isub, imonth, :]
ax.scatter(x_plot, y_plot, label=datalist[isub])
ax.set_xticks(np.arange(1.0, 12.+1, 1.0))
plt.legend()
plt.show()
其图形如下所示: tutorial
x轴表示月(nMonths),散点图是16个月(n年)每月重复17个不同的数据集(nSub)。
我遇到的问题是我不知道如何正确地分配散点图颜色,这些颜色每月只会使用相同颜色的数据集(isub)中的每个数据集着色(对于所有nYears,相同的颜色)每个人都。)
这意味着,每一个' a'每月会有相同的颜色。最后,我的图例中只有17种(nSub)颜色和相同数量的元素。
我该如何解决这个问题?