Python中Matplotlib库的使用(三)—— Matplotlib绘制图的常用类型

Python中Matplotlib库的使用(三)—— Matplotlib绘制图的常用类型

Matplotlib绘制图的常用类型

plot(x,y)

plot(x, y)函数用于绘制折线图。折线图是一种用来展示连续数据之间关系的图表类型,适用于表示数据随着一个或多个变量的变化而变化的情况。

具体来说,plot(x, y)函数接受两个参数:

  • x:表示X轴上的数据点的值,通常是一个数组或列表,表示自变量的取值。
  • y:表示Y轴上的数据点的值,也是一个数组或列表,表示因变量随自变量变化的取值。

折线图会将这些数据点连接起来,形成一条或多条线,以展示数据的趋势或变化情况。以下是一些常见的折线图样式及其特点:

  1. 单条折线图:用于表示单一变量的变化趋势。可以通过添加数据标记点来强调关键数据点。
  2. 多条折线图:可以在同一张图上绘制多条折线,用于比较多个变量之间的趋势。每条折线可以使用不同的颜色或线型进行区分。
  3. 带标记点的折线图:通过在折线上添加标记点,可以更清晰地表示数据的取值,尤其在数据变化明显的位置。
  4. 平滑曲线折线图:使用平滑曲线(如样条曲线或平滑的多项式拟合曲线)来连接数据点,以平滑显示数据的变化趋势,避免过多的波动。
  5. 面积图折线图:可以通过在折线下方填充颜色,展示数据随时间的累积变化。常用于表示累积数据,如总收入或总销量。
  6. 双坐标轴折线图:在同一张图上绘制两条折线,分别使用左右两个不同的Y轴刻度,用于表示不同量纲或变化幅度较大的数据。

例如:

import matplotlib.pyplot as plt import numpy as np plt.style.use('_mpl-gallery') # 生成数据 x = np.linspace(0, 10, 100) y = 4 + 2 * np.sin(2 * x) # plot fig, ax = plt.subplots() ax.plot(x, y, linewidth=2.0) ax.set(xlim=(0, 8), xticks=np.arange(1, 8), ylim=(0, 8), yticks=np.arange(1, 8)) plt.show() 
www.zeeklog.com - Python中Matplotlib库的使用(三)—— Matplotlib绘制图的常用类型

scatter(x, y)

scatter(x, y)函数用于绘制散点图。散点图是一种用于展示两个变量之间关系的图表类型,每个数据点由两个数值(X轴和Y轴上的值)表示,以点的形式在图表上进行表示。

scatter(x, y)函数接受两个参数:

  • x:表示X轴上的数据点的值,通常是一个数组或列表,表示自变量的取值。
  • y:表示Y轴上的数据点的值,也是一个数组或列表,表示因变量的取值。

散点图通过在坐标系中放置单个数据点来展示两个变量之间的关系。以下是一些散点图的特点和用途:

  1. 相关性检测:通过绘制散点图,可以观察两个变量之间的关系,判断它们之间是否存在线性相关性、正相关还是负相关。
  2. 分布情况:散点图可以用来展示数据的分布情况,特别是在两个维度上都有变化的情况下。
  3. 聚类分析:当数据点在图上聚集成群时,散点图可以帮助识别是否存在多个聚类或群集。
  4. 异常值识别:通过观察散点图,可以识别出位于数据集中的异常值或离群点。
  5. 多变量关系:散点图也可以用于展示多个变量之间的关系,通过使用不同的颜色、大小或形状来表示不同的变量。

比如生成一个显示汽车速度与制动距离关系的散点图,其中每个数据点表示一个速度-制动距离的对应关系:

import matplotlib.pyplot as plt # 设置全局字体为支持中文的字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定微软雅黑或其他中文字体 # 示例数据:汽车速度与制动距离的关系 speed = [4, 7, 11, 15, 18, 20, 22, 24, 26, 29] brake_distance = [2, 4, 7, 10, 12, 15, 18, 22, 25, 28] # 创建散点图 plt.figure(figsize=(8, 6)) # 设置图像大小 plt.scatter(speed, brake_distance, color='blue', marker='o', label='数据点') # 绘制散点图 plt.title('汽车速度与制动距离关系') # 添加标题 plt.xlabel('速度 (mph)') # 添加X轴标签 plt.ylabel('制动距离 (ft)') # 添加Y轴标签 plt.legend() # 显示图例 plt.grid(True) # 添加网格线 plt.show() # 显示图像 
www.zeeklog.com - Python中Matplotlib库的使用(三)—— Matplotlib绘制图的常用类型

在使用scatter(x, y)函数时,还可以通过设置参数来定制散点图的外观,如点的大小、颜色、标记形状等,以便更好地传达数据的信息。

例如生成一个具有随机数据点、自定义样式和点大小、颜色的散点图:

import matplotlib.pyplot as plt import numpy as np # 创建数据 np.random.seed(3) x = 4 + np.random.normal(0, 2, 24) # 生成24个随机数,以4为中心,标准差为2 y = 4 + np.random.normal(0, 2, len(x)) # 生成与x相同数量的随机数,以4为中心,标准差为2 # 设置点的大小和颜色 sizes = np.random.uniform(15, 80, len(x)) # 生成在15和80之间的随机数作为点的大小 colors = np.random.uniform(15, 80, len(x)) # 生成在15和80之间的随机数作为颜色 # 绘制散点图 fig, ax = plt.subplots() # 创建一个图像和坐标轴的组合 ax.scatter(x, y, s=sizes, c=colors, vmin=0, vmax=100) # 绘制散点图,设置点的大小和颜色的范围 # 设置坐标轴范围和刻度 ax.set(xlim=(0, 8), xticks=np.arange(1, 8), ylim=(0, 8), yticks=np.arange(1, 8)) plt.show() # 显示图像 
www.zeeklog.com - Python中Matplotlib库的使用(三)—— Matplotlib绘制图的常用类型

bar(x, height)

bar(x, height)函数用于绘制条形图(柱状图)。条形图是一种常用的数据可视化方式,用于展示不同类别或组之间的比较。每个条形的高度表示与该类别或组相关联的数值。

bar(x, height)函数接受两个主要参数:

  • x:表示条形的位置,通常是一个数组或列表,表示每个条形的位置。
  • height:表示每个条形的高度,也是一个数组或列表,表示每个条形的数值。

以下是一些关于bar(x, height)函数的特点和用途:

  1. 分类比较

Read more

安装 启动 使用 Neo4j的超详细教程

安装 启动 使用 Neo4j的超详细教程

最近在做一个基于知识图谱的智能生成项目。需要用到Neo4j图数据库。写这篇文章记录一下Neo4j的安装及其使用。 一.Neo4j的安装 1.首先安装JDK,配环境变量。(参照网上教程,很多) Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVA SE的JDK。从Oracle官方网站下载 Java SE JDK。我使用的版本是JDK1.8 2.官网上安装neo4j。 官方网址:https://neo4j.com/deployment-center/  在官网上下载对应版本。Neo4j应用程序有如下主要的目录结构: bin目录:用于存储Neo4j的可执行程序; conf目录:用于控制Neo4j启动的配置文件; data目录:用于存储核心数据库文件; plugins目录:用于存储Neo4j的插件; 3.配置环境变量 创建主目录环境变量NEO4J_HOME,并把主目录设置为变量值。复制具体的neo4j文件地址作为变量值。 配置文档存储在conf目录下,Neo4j通过配置文件neo4j.conf控制服务器的工作。默认情况下,不需

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程 在数字化办公日益普及的今天,企业微信作为国内领先的企业级通讯工具,其群机器人功能为团队协作带来了极大的便利。本文将手把手教你如何从零开始配置企业微信群机器人Webhook,实现自动化消息推送,提升团队沟通效率。 1. 准备工作与环境配置 在开始创建机器人之前,需要确保满足以下基本条件: * 企业微信账号:拥有有效的企业微信管理员或成员账号 * 群聊条件:至少包含3名成员的群聊(这是创建机器人的最低人数要求) * 网络环境:能够正常访问企业微信服务器 提示:如果是企业管理员,建议先在"企业微信管理后台"确认机器人功能是否已对企业开放。某些企业可能出于安全考虑会限制此功能。 2. 创建群机器人 2.1 添加机器人到群聊 1. 打开企业微信客户端,进入目标群聊 2. 点击右上角的群菜单按钮(通常显示为"..."或"⋮") 3. 选择"添加群机器人"选项 4.

Flowise物联网融合:与智能家居设备联动的应用设想

Flowise物联网融合:与智能家居设备联动的应用设想 1. Flowise:让AI工作流变得像搭积木一样简单 Flowise 是一个真正把“AI平民化”落地的工具。它不像传统开发那样需要写几十行 LangChain 代码、配置向量库、调试提示词模板,而是把所有这些能力打包成一个个可拖拽的节点——就像小时候玩乐高,你不需要懂塑料怎么合成,只要知道哪块该拼在哪,就能搭出一座城堡。 它诞生于2023年,短短一年就收获了45.6k GitHub Stars,MIT协议开源,意味着你可以放心把它用在公司内部系统里,甚至嵌入到客户交付的产品中,完全不用担心授权问题。最打动人的不是它的技术多炫酷,而是它真的“不挑人”:产品经理能搭出知识库问答机器人,运营同学能配出自动抓取竞品文案的Agent,连刚学Python两周的实习生,也能在5分钟内跑通一个本地大模型的RAG流程。 它的核心逻辑很朴素:把LangChain里那些抽象概念——比如LLM调用、文档切分、向量检索、工具调用——变成画布上看得见、摸得着的方块。你拖一个“Ollama LLM”节点,再拖一个“Chroma Vector

OpenClaw配置Bot接入飞书机器人+Kimi2.5

OpenClaw配置Bot接入飞书机器人+Kimi2.5

上一篇文章写了Ubuntu_24.04下安装OpenClaw的过程,这篇文档记录一下接入飞书机器+Kimi2.5。 准备工作 飞书 创建飞书机器人 访问飞书开放平台:https://open.feishu.cn/app,点击创建应用: 填写应用名称和描述后就直接创建: 复制App ID 和 App Secret 创建成功后,在“凭证与基础信息”中找到 App ID 和 App Secret,把这2个信息复制记录下来,后面需要配置到openclaw中 配置权限 点击【权限管理】→【开通权限】 或使用【批量导入/导出权限】,选择导入,输入以下内容,如下图 点击【下一步,确认新增权限】即可开通所需要的权限。 配置事件与回调 说明:这一步的配置需要先讲AppId和AppSecret配置到openclaw成功之后再设置订阅方式,