我试图编写一个函数,它可以绘制最佳拟合曲线及其原始数据点。理想情况下,我希望运行4-5数据集的函数,并将它们都显示在相同的数字上。我现在拥有的函数在绘制最佳拟合曲线方面做得很好,但是当我添加各个数据点时,它们会显示出与最佳拟合曲线不同的颜色。

我希望它们都是相同的颜色,这样,当我运行4-5次功能时,就不会太乱,有10种左右不同的颜色。理想情况下,我希望输出是这样的

我的代码:
def plot(k, w, lab):
popt, pcov = cf(linfunc, np.log(k), np.log(w))
yfit = linfunc(np.log(k), *popt)
plt.plot(np.log(k), yfit, '-', label = lab)
plt.plot(np.log(k), np.log(w), 'o')
plt.legend();
plot(k2ml, w2ml, '2ml')此外,是否有一种方法可以让我的函数接受参数"lab“的任何输入,并让它自动转换为字符串,以便可以在图例中使用?
发布于 2022-03-03 17:30:17
所以你想要的是画一条线,它的颜色是一样的。
为了达到你的目标,你可以画第一行,得到它的颜色,然后把这个颜色设置为适合的线。
下面是执行此操作的小代码段:
# Plot first line and get list of plotted lines
lines = plt.plot([0,1,2,3,4], [5,6,7,8,9])
# Get color of first (and only) line
line_color = lines[0].get_color()
# Plot Your fit with same color parameter
plt.plot([0,1,2,3,4], [0,1,2,3,4], color=line_color)至于label,我只需要用str(lab)将其转换为字符串。
https://stackoverflow.com/questions/71340752
复制相似问题