最可靠的方法来自动选择matplotlib中的线条样式与seaborn相结合

Pat*_*ick 6 python matplotlib seaborn

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

截至目前,我基本上有两种方式.设置标记或定义样式.两个人似乎都对seaborn有些问题.首先是使用循环仪:

plt.rc('axes', prop_cycle=cycler('linestyle', ['-', '--', ':', '-.']))
Run Code Online (Sandbox Code Playgroud)

如果我使用它,它要么覆盖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
Run Code Online (Sandbox Code Playgroud)

这里的问题是,相当一些标记看起来是相同的,这只是一条没有标记的线.

有没有其他方法可靠,适用于seaborn?

jsi*_*ell 0

如果您想保留 matplotlib 中的 rcParams 并使用最新版本的 seaborn (>= 0.7.1),最简单的方法是按照import seaborn.apionly功能中的说明使用