如何从线条图中获取颜色

时间:2018-11-13 22:41:40

标签: python matplotlib seaborn

我想绘制几个正态分布,并在每个颜色的线条颜色中添加标签。但是颜色似乎没有更新。

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import scipy.stats as stats

def single_plot(mu, sigma, ax, label=None):
    x = np.linspace(mu - 4*sigma, mu + 4*sigma, 1000)
    ax = sns.lineplot(x, stats.norm.pdf(x, mu, sigma), ax=ax, label=label, zorder=2)

    #my code to get color
    color = ax.get_lines()[0].get_c() #fetch color of line
    ax.text(mu, max(stats.norm.pdf(x, mu, sigma)), label, fontsize=16, color=color)

但是,使用时,不会每行更新颜色。如果我尝试:

fig, ax = plt.subplots()
ax = single_plot(mu=1000, sigma=100, ax=ax, label='test1')
ax = single_plot(mu=1500, sigma=200, ax=ax, label='test2')
fig.show()

我得到这个数字。 “ test2”的标签未更新。

enter image description here

我想知道我在哪里错了,以及如何解决这个问题。

0 个答案:

没有答案