python - seaborn 使用 matplotlib scatter 循环颜色

标签 python matplotlib seaborn

在做散点图时如何获得 seaborn 颜色?

import matplotlib.pyplot as plt
import seaborn as sns
ax=fig.add_subplot(111)
for f in files:
    ax.scatter(args) # all datasets end up same colour
    #plt.plot(args) #  cycles through palette correctly

最佳答案

你必须告诉 matplotlib 使用哪种颜色。例如,使用 seaborn 的默认调色板:

import matplotlib.pyplot as plt
import seaborn as sns
import itertools
ax=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))

可能是一个更好的解决方案。不同之处在于,我在顶部的原始答案尽可能频繁地迭代默认颜色,而此解决方案创建的调色板具有与文件一样多的色调。这意味着没有颜色重复,但颜色之间的差异可能非常细微。

关于python - seaborn 使用 matplotlib scatter 循环颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28430385/

相关文章:

python - pyschool 错了吗?

python - Django:创建动态表单

python - 如何在matplotlib中设置极坐标图的大小?

python - matplotlib 在 tkinter Canvas 中的缩放功能

python - 我可以调整这个seaborn 热图中颜色条的比例吗?

python - 在 python c = pickle.load(open(fileName, 'r' )) 这会关闭文件吗?

javascript - jinja2.exceptions.TemplateSyntaxError : expected token ',' , 得到 'static'

python - 将条形图中的 xticklabels 与 matplotlib 对齐

python - 保存为 pdf 时,删除 seaborn 热图中分隔单元格的线条

python - 如何调整 seaborn catplot 的大小