首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义函数中的绘图颜色(matplotlib)

自定义函数中的绘图颜色(matplotlib)
EN

Stack Overflow用户
提问于 2022-03-03 16:47:13
回答 1查看 55关注 0票数 0

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

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

我的代码:

代码语言:javascript
复制
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“的任何输入,并让它自动转换为字符串,以便可以在图例中使用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-03 17:30:17

所以你想要的是画一条线,它的颜色是一样的。

为了达到你的目标,你可以画第一行,得到它的颜色,然后把这个颜色设置为适合的线。

下面是执行此操作的小代码段:

代码语言:javascript
复制
# 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)将其转换为字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71340752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档