Python绘制趋势线的示例代码

 更新时间:2024年03月01日 14:41:47   作者:彭博锐  
趋势线是用来显示数据趋势或者预测未来发展方向的一种图形表示方法,这篇文章主要为大家详细介绍了如何使用Python绘制趋势线,需要的可以了解下

趋势线

趋势线是用来显示数据趋势或者预测未来发展方向的一种图形表示方法。在统计学和数据分析中,趋势线通常是通过拟合数据点来找到一条最符合数据整体趋势的直线、曲线或者其他形状。常见的趋势线拟合方法包括线性回归、多项式回归、指数平滑等。

趋势线在金融分析、市场预测、销售趋势分析、科学研究等领域都有广泛的应用。通过趋势线,人们可以更清晰地了解数据的走势,从而做出更加准确的决策。

在图表中,趋势线通常以一条穿过数据点的曲线或直线的形式呈现,使得观察者可以更容易地识别出数据的趋势方向。

示例代码

import numpy as np
import matplotlib.pyplot as plt

# 生成一些示例数据
x = np.linspace(0, 10, 100)
y = 2 * x + np.random.normal(0, 1, 100)  # 线性上升的数据,加入一些噪声

# 绘制原始曲线
plt.plot(x, y, label='Data')

# 使用线性回归拟合趋势线
slope, intercept = np.polyfit(x, y, 1)
trendline = slope * x + intercept

# 绘制趋势线
plt.plot(x, trendline, color='red', linestyle='--', label='Trendline')

# 添加图例和标签
plt.legend()
plt.title('Data with Trendline')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

结果展示

补充:横轴不连续的趋势图

这里主要用到brokenaxes库,可以使坐标轴不连续。

示例代码

import numpy as np
import matplotlib.pyplot as plt
from brokenaxes import brokenaxes

# 生成一些示例数据
x = np.linspace(0, 10, 100)
y = 2 * x + np.random.normal(0, 1, 100)  # 线性上升的数据,加入一些噪声

# 将数据分成两段
x1, y1 = x[:40], y[:40]
x2, y2 = x[60:], y[60:]

# 创建一个BrokenAxes对象
bax = brokenaxes(xlims=((0, 4), (6, 10)), hspace=0.05)

# 绘制第一段趋势线
slope1, intercept1 = np.polyfit(x1, y1, 1)
trendline1 = slope1 * x1 + intercept1
bax.plot(x1, y1, label='Segment 1', color='blue')
bax.plot(x1, trendline1, color='red', linestyle='--', label='Trendline 1')

# 绘制第二段趋势线
slope2, intercept2 = np.polyfit(x2, y2, 1)
trendline2 = slope2 * x2 + intercept2
bax.plot(x2, y2, label='Segment 2', color='orange')
bax.plot(x2, trendline2, color='green', linestyle='--', label='Trendline 2')

# 添加标题和标签
bax.set_xlabel('X Label')
bax.set_ylabel('Y Label')
bax.set_title('Data with Trendline (Broken Axes)')

# 显示图例
bax.legend(loc='lower right')

# 显示图形
plt.show()

结果展示

到此这篇关于Python绘制趋势线的示例代码的文章就介绍到这了,更多相关Python趋势线内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django 外键查询的实现

    Django 外键查询的实现

    今天学习了一下外键查询的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • 这样写python注释让代码更加的优雅

    这样写python注释让代码更加的优雅

    任何编程语言都少不了注释,Python当然也不例外,下面这篇文章主要给大家介绍了关于如何写python注释,才能让你的代码更加的优雅,需要的朋友可以参考下
    2021-06-06
  • K近邻法(KNN)相关知识总结以及如何用python实现

    K近邻法(KNN)相关知识总结以及如何用python实现

    这篇文章主要介绍了K近邻法(KNN)相关知识总结以及如何用python实现,帮助大家更好的利用python实现机器学习,感兴趣的朋友可以了解下
    2021-01-01
  • python3读取autocad图形文件.py实例

    python3读取autocad图形文件.py实例

    这篇文章主要介绍了python3读取autocad图形文件.py实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 浅析Python自带性能强悍的标准库itertools

    浅析Python自带性能强悍的标准库itertools

    itertools是python内置的模块,使用简单且功能强大。这篇文章就主要介绍了通过itertools实现可迭代对象的无限迭代、有限迭代和排列组合。感兴趣的同学可以关注一下
    2021-12-12
  • 用django-allauth实现第三方登录的示例代码

    用django-allauth实现第三方登录的示例代码

    这篇文章主要介绍了用django-allauth实现第三方登录的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • python学习与数据挖掘应知应会的十大终端命令

    python学习与数据挖掘应知应会的十大终端命令

    今天我们将介绍一些基本的数据收集、探索和聚合—所有这些都是通过shell完成的。如果你使用的是Linux或Mac,那么接下来就不会有任何问题,但是Windows用户应该在继续之前下载一个终端仿真器
    2021-11-11
  • Python实现遍历目录的方法【测试可用】

    Python实现遍历目录的方法【测试可用】

    这篇文章主要介绍了Python实现遍历目录的方法,涉及Python针对目录与文件的遍历、判断、读取相关操作技巧,需要的朋友可以参考下
    2017-03-03
  • python 模块重载的五种方法

    python 模块重载的五种方法

    这篇文章主要介绍了python 模块重载的五种方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 一文详解PyQt5中实现不规则窗口的显示

    一文详解PyQt5中实现不规则窗口的显示

    这篇文章主要为大家详细介绍了Python PyQt5中实现不规则窗口的显示的相关资料,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2022-12-12

最新评论