matplotlib用面积填充实现lmplot

这篇具有很好参考价值的文章主要介绍了matplotlib用面积填充实现lmplot。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

示例

在绘图时经常遇到类似区域填充的问题,比如对于 y = sin ⁡ x y=\sin x y=sinx函数,想填充其与X轴所围成的区间,那么就可以使用fill_between函数。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 2, 0.01)
y = np.sin(2 * np.pi * x)

plt.plot(x, y, color='black')
plt.fill_between(x, y)
plt.grid()
plt.show()

效果如下

matplotlib用面积填充实现lmplot,# Python可视化,matplotlib,lmplot,plot,趋势线,回归图

参数

fill_between参数如下,其中x, y1, y2都是数组,表示希望覆盖的范围,具体逻辑是,对于某点 x i x_i xi,将对应的 [ y 1 i , y 2 i ] [y_{1i}, y_{2i}] [y1i,y2i]范围内涂上颜色。在上面的示例中,只设置了xy1,而y2默认为0,所以绘制的就是y1到0范围内的值。

fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, *,**kwargs)

其他参数含义如下

  • where 可以指定参与绘图的范围,一般是一个布尔型数组
  • interpolate 为True时采用插值
  • step 可选’pre’, ‘post’, ‘mid’,表示步进方案
plt.plot(x, y, color='black')
plt.fill_between(x, y, where=y > 0, facecolor='green', alpha=.5)
plt.fill_between(x, y, where=y < 0, facecolor='red', alpha=.5)
plt.show()

结果如图

matplotlib用面积填充实现lmplot,# Python可视化,matplotlib,lmplot,plot,趋势线,回归图

回归图

有了这种填充工具,就可以做出类似seaborn中的lmplot,这种图形在数据拟合时十分有用,可以在除了拟合线之外,再将数据的分布范围标出。

首先创造一组带有误差的 y = 2 x + 1 y=2x+1 y=2x+1数据,并通过最小二乘法得到其拟合参数。

x = np.arange(0, 2, 0.02)
err = np.random.rand(100)/2
y = 2*x + 1 + err

# 构造并调用最小二乘法
A = np.array([x, np.ones_like(x)]).T
kb, res, _, _ = np.linalg.lstsq(A, y)

下面就对拟合结果进行绘制,首先根据拟合出来的 k , b k, b k,b,来得到趋势线 Y = k x + b Y=kx+b Y=kx+b,然后调用绘图函数,对原始数据、趋势线、分布区间进行绘制

Y = kb[0]*x + kb[1]
dx = (x-x.mean())**2
E = x.std() * np.sqrt(1/len(x) + dx / np.sum(dx))
plt.scatter(x, y, marker='.')   # 原始数据
plt.plot(x, Y)                  # 趋势线
plt.fill_between(x, Y - E, Y + E, alpha=0.5)
plt.show()

效果如下

matplotlib用面积填充实现lmplot,# Python可视化,matplotlib,lmplot,plot,趋势线,回归图文章来源地址https://www.toymoban.com/news/detail-577457.html

到了这里,关于matplotlib用面积填充实现lmplot的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【matplotlib 实战】--面积图

    面积图,或称区域图,是一种随有序变量的变化,反映数值变化的统计图表。 面积图也可用于多个系列数据的比较。 这时,面积图的外观看上去类似层叠的山脉,在错落有致的外形下表达数据的总量和趋势。 面积图不仅可以清晰地反映出数据的趋势变化,也能够强调不同类

    2024年02月08日
    浏览(27)
  • 【matplotlib 实战】--堆叠面积图

    堆叠面积图和面积图都是用于展示数据随时间变化趋势的统计图表,但它们的特点有所不同。 面积图的特点在于它能够直观地展示数量之间的关系,而且不需要标注数据点,可以轻松地观察数据的变化趋势。而堆叠面积图则更适合展示多个数据系列之间的变化趋势,它们一层

    2024年02月08日
    浏览(37)
  • Python 利用opencv实现识别最大面积验证码

    此篇文章解决的是某象的最大验证码,这个最大面积验证码,就是识别图中划线区域中最大面积的验证码,我一开始打算用深度学习去做,但是结合了网上的资料以及自己的想法来看,还是用opencv处理又快又较为准确,而且还不用准备深度学习的一些环境 我准备了大概几十张

    2024年02月12日
    浏览(28)
  • python opencv实现找到图像的轮廓,填充颜色

    我想找到图片中的闭合圈,然后填充颜色 所需要的cv函数: 1。 OpenCV提供的findContours()方法可以通过计算图像梯度来判断出图像的边缘,然后将边缘的点封装成数组返回。    image : 为检测的图像,必须是8位单通道二值图像。如果原图为彩色的,必须转为灰度图,并通过二值

    2024年02月04日
    浏览(32)
  • python使用matplotlib实现折线图的绘制

    一、意义 数据可视化可以以简洁的方式呈现出数据,发现众多数据中隐藏的规律和意义。Matplotlib是一个数学绘图库。利用它可以制作简单的图表(散点图、折线图)。然后,将基于漫步概念生成一个更有趣的数据集–根据一系列随机决策生成的图表。本文我们主要练习折线

    2024年02月12日
    浏览(23)
  • Python-使用matplotlib.pyplot实现实时数据动态显示

    目录 一、引言 二、从一块代码开始 1、%matplotlib qt5 2、plt.icon 三、另一种在行内(Jupyter Notebook内)展示动态图形的方法 1、display和display.clear_output() 用python做仿真一个痛点就是不能像netlogo等一些其他软件可以很方便地实现实时数据可视化,也正是由于这一点,调试仿真系统时

    2024年02月14日
    浏览(25)
  • 小提琴图的绘制方法:Python matplotlib实现

      本文介绍基于 Python 中 matplotlib 模块与 seaborn 模块,利用多个 列表 中的数据,绘制小提琴图( Violin Plot )的方法。   小提琴图作为一种将 箱型图 与 核密度图 分别所能表达的信息相结合的数据可视化图,在数据分析中得以广泛应用;本文就详细介绍在 Python 中,对存

    2024年02月08日
    浏览(38)
  • Matplotlib可视化数据分析图表下(常用图表的绘制、折线图、柱形图、直方图、饼形图、散点图、面积图、热力图、箱形图、3D图表、绘制多个图表、双y轴可视化图表、颜色渐变图)

    本文来自《Python数据分析从入门到精通》_明日科技编著 本节介绍常用图表的绘制,主要包括绘制折线图、绘制柱形图、绘制直方图、绘制饼形图、绘制散点图、绘制面积图、绘制热力图、绘制箱型图、绘制3D图表、绘制多个子图表以及图表的保存。对于常用的图表类型以绘制

    2023年04月23日
    浏览(37)
  • Python使用Matplotlib通过鼠标交互实现缩放、移动以及线上点坐标显示功能

    参考文章: 缩放:python 桌面软件开发-matplotlib画图鼠标缩放拖动_matplotlib缩放-CSDN博客 获取点坐标参考的文章忘了,侵权即删

    2024年04月13日
    浏览(31)
  • 基于python的matplotlib、numpy库实现的图形绘制(数据可视化)

    1.题目要求 编写程序,绘制正弦曲线和余弦曲线。 提示:利用numpy的linspace()、sin()或cos()函数生成样本数据、正弦或余弦值。 2.函数讲解及代码  3.运行图样 4.扩展 1.题目要求 已知实验中学举行了高二期中模拟考试,考试后分别计算了全体男生、女生各科的平均成绩,统计结

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包