Scatterplot图例 - 循环中的颜色条?

时间:2018-06-14 12:25:12

标签: python-2.7 matplotlib scatter-plot

目前我的代码设置如下:

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)颜色和相同数量的元素。

我该如何解决这个问题?

0 个答案:

没有答案