您必须告诉matplotlib使用哪种颜色。例如,使用seaborn的默认调色板:
import matplotlib.pyplot as pltimport seaborn as snsimport itertoolsax=fig.add_subplot(111)palette = itertools.cycle(sns.color_palette())for f in files: ax.scatter(args, color=next(palette))
这样
itertools.cycle可以确保我们不会用完所有颜色,并在使用最后一种颜色后再从第一种颜色开始。
更新:
根据@Iceflower的评论,通过创建自定义调色板
palette = sns.color_palette(None, len(files))
可能是一个更好的解决方案。不同之处在于,我最上面的原始答案会尽可能地遍历默认颜色,而此解决方案创建的调色板具有与文件一样多的色相。这意味着不会重复任何颜色,但是颜色之间的差异可能非常细微。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)