我正在寻找一种可靠的方式来自动为我的情节选择线条样式。现在,我有8条线用于绘图,我希望自动选择彼此可区分的线型是可行的。

截至目前,我基本上有两种方法。设置标记或定义样式。两者似乎都对seaborn有一些问题。第一种是使用循环仪:

plt.rc('axes', prop_cycle=cycler('linestyle', ['-', '--', ':', '-.']))

如果我使用它,则它会覆盖seaborn设置,或者被seaborn覆盖,这取决于我首先设置的那个。
我在其中一个示例中找到了另一种方法,并设置了行的标记:
def makeStyles():
    markers = []
    for m in Line2D.markers:
        try:
            if len(m) == 1 and m != ' ':
                markers.append(m)
        except TypeError:
            pass

    styles = markers + [
        r'$\lambda$',
        r'$\bowtie$',
        r'$\circlearrowleft$',
        r'$\clubsuit$',
        r'$\checkmark$']
    return styles

这里的问题是,有些标记似乎是相同的,只是没有标记的一行。

还有其他可行的方法可以与Seaborn一起工作吗?

最佳答案

如果要保留在matplotlib中使用的rcParam,并使用最新版本的seaborn(> = 0.7.1),最简单的方法是按照what's new中的说明使用import seaborn.apionly

关于python - 在matplotlib中结合Seaborn自动选择线型的最可靠方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38738019/

10-13 05:20