我想绘制几个正态分布,并在每个颜色的线条颜色中添加标签。但是颜色似乎没有更新。
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”的标签未更新。
我想知道我在哪里错了,以及如何解决这个问题。