【plt.scatter绘制散点图】:从入门到精通,只需一篇文章!【Matplotlib】

【plt.scatter绘制散点图】:从入门到精通,只需一篇文章!【Matplotlib】!🚀

在这里插入图片描述

利用Matplotlib进行数据可视化示例


🌵文章目录🌵

  • 一、plt.scatter入门:轻松迈出第一步 👣
  • 二、进阶探索:plt.scatter的高级用法和技巧🔍
  • 三、参考文档📚
  • 四、结尾🌳

一、plt.scatter入门:轻松迈出第一步 👣

🎈 欢迎来到Matplotlib的plt.scatter世界!这是一个强大而灵活的工具,用于创建散点图,帮助你直观地理解和分析数据。在这里,我们将从基础开始,逐步掌握如何使用plt.scatter来创建散点图。

📌 首先,确保你已经安装了Matplotlib库。如果没有安装,可以使用以下命令进行安装:

pip install matplotlib

📚 接下来,让我们导入必要的库并创建一个简单的散点图。

import matplotlib.pyplot as plt
import numpy as np# 创建一些随机数据
x = np.random.rand(50)
y = np.random.rand(50)# 设置全局字体为支持中文的字体
plt.rcParams['font.sans-serif'] = ['SimHei']# 使用plt.scatter创建散点图
plt.scatter(x, y)# 添加标题和坐标轴标签
plt.title('简单的散点图')
plt.xlabel('X轴')
plt.ylabel('Y轴')# 显示图形
plt.show()

🎉 效果展示

Fig.1 使用plt.scatter来创建散点图

运行上述代码,你将看到如图1所示的散点图,其中包含50个随机分布的点。🎉

二、进阶探索:plt.scatter的高级用法和技巧🔍

🌈 散点图是一种非常直观的数据可视化方式,可以展示两个变量之间的关系。通过调整散点图的颜色、大小、形状等属性,我们可以进一步强调数据的某些特征,使故事更加生动。

💡 下面是一个自定义散点颜色和大小的散点图示例:

import matplotlib.pyplot as plt
import numpy as np# 设置全局字体为支持中文的字体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 解决保存图像是负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False# 创建一个2x3的子图网格
fig, axs = plt.subplots(2, 3, figsize=(15, 10))  # figsize设置图形大小# 示例1: 单一颜色和固定大小的散点图
x1 = np.random.rand(50)
y1 = np.random.rand(50)
axs[0, 0].scatter(x1, y1, color='red', s=50)
axs[0, 0].set_title('单一颜色和固定大小的散点图')
axs[0, 0].set_xlabel('X轴')
axs[0, 0].set_ylabel('Y轴')# 示例2: 不同颜色和固定大小的散点图
x2 = np.random.rand(50)
y2 = np.random.rand(50)
colors2 = np.random.rand(50)
axs[0, 1].scatter(x2, y2, c=colors2, s=50)
axs[0, 1].set_title('不同颜色和固定大小的散点图')
axs[0, 1].set_xlabel('X轴')
axs[0, 1].set_ylabel('Y轴')# 示例3: 单一颜色和不同大小的散点图
x3 = np.random.rand(50)
y3 = np.random.rand(50)
sizes3 = np.random.randint(10, 100, 50)
axs[0, 2].scatter(x3, y3, color='blue', s=sizes3)
axs[0, 2].set_title('单一颜色和不同大小的散点图')
axs[0, 2].set_xlabel('X轴')
axs[0, 2].set_ylabel('Y轴')# 示例4: 不同颜色和不同大小的散点图
x4 = np.random.rand(50)
y4 = np.random.rand(50)
colors4 = np.random.rand(50)
sizes4 = np.random.randint(10, 100, 50)
axs[1, 0].scatter(x4, y4, c=colors4, s=sizes4)
axs[1, 0].set_title('不同颜色和不同大小的散点图')
axs[1, 0].set_xlabel('X轴')
axs[1, 0].set_ylabel('Y轴')# 示例5: 使用颜色映射的散点图
x5 = np.random.rand(50)
y5 = np.random.rand(50)
z5 = np.random.rand(50)
axs[1, 1].scatter(x5, y5, c=z5, cmap='viridis')
axs[1, 1].set_title('使用颜色映射的散点图')
axs[1, 1].set_xlabel('X轴')
axs[1, 1].set_ylabel('Y轴')# 示例6: 使用分组和自定义样式的散点图
x6 = np.random.rand(100)
y6 = np.random.rand(100)
groups6 = np.random.choice(['A', 'B'], size=100)
colors6 = {'A': 'red', 'B': 'blue'}
sizes6 = {'A': 50, 'B': 100}for group, color, size in zip(groups6, colors6.values(), sizes6.values()):axs[1, 2].scatter(x6[groups6 == group], y6[groups6 == group], color=color, label=group, s=size)
axs[1, 2].set_title('分组和自定义样式的散点图')
axs[1, 2].set_xlabel('X轴')
axs[1, 2].set_ylabel('Y轴')
axs[1, 2].legend()  # 添加图例# 调整子图之间的间距
plt.subplots_adjust(wspace=0.4, hspace=0.4)# 显示图形
plt.show()

🎉 效果展示

Fig.2 使用plt.scatter来自定义散点颜色和大小

  • 以上代码使用Matplotlib库创建了一个包含六个子图的散点图矩阵。📈📊
  • 每个子图展示了不同类型的散点图,包括:
    • 单一颜色和固定大小的散点图;
    • 不同颜色和固定大小的散点图;
    • 单一颜色和不同大小的散点图;
    • 不同颜色和不同大小的散点图;
    • 使用颜色映射的散点图;
    • 使用分组和自定义样式的散点图;

  这些散点图基于随机生成的数据绘制,并通过调整颜色、大小和分组等参数来展示scatter函数的不同功能和用法。最后,代码调整了子图之间的间距,并显示了整个图像。💡🖼️

三、参考文档📚

  1. Matplotlib官网
  2. Matplotlib初探:认识数据可视化与Matplotlib
  3. 数据分析利器对决:Matplotlib中的MATLAB风格与面向对象风格,你选谁?

四、结尾🌳

  亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。

  我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!

  您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/258518.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客网SQL进阶128:未完成试卷数大于1的有效用户

官网链接: 未完成试卷数大于1的有效用户_牛客题霸_牛客网现有试卷作答记录表exam_record(uid用户ID, exam_id试卷ID, st。题目来自【牛客题霸】https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286?tpId240&tqId2183007&ru%2…

探讨深度学习

深度学习 深度学习概述进展崛起框架 主页传送门:📀 传送 深度学习 概述 深度学习是机器学习领域的一个分支,它是一种基于人工神经网络的学习方法,旨在让 计算机模仿人类大脑的神经结构和学习方式,从大量数据中学习并…

C++11---(1)

目录 一、C11简介 二、列表初始化 2.1、{ } 初始化 三、变量类型推导 3.1、auto 3.2、decltype 为什么需要decltype 四、final和override 4.1、final 4.2、override 五、默认成员函数控制 5.1、default修饰函数 5.2、delete修饰函数 六、nullptr 一、C11简介 C11是…

Kubernetes(K8S)集群部署实战

目录 一、准备工作1.1、创建3台虚拟机1.1.1、下载虚拟机管理工具1.1.2、安装虚拟机管理工具1.1.3、下载虚Centos镜像1.1.4、创建台个虚拟机1.1.5、设置虚拟机网络环境 1.2、虚拟机基础配置(3台虚拟机进行相同处理)1.2.1、配置host1.2.2、关闭防火墙1.2.3…

网络原理-TCP/IP(7)

目录 网络层 路由选择 数据链路层 认识以太网 以太网帧格式 认识MAC地址 对比理解MAC地址和IP地址 认识MTU ARP协议 ARP协议的作用 ARP协议工作流程 重要应用层协议DNS(Domain Name System) DNS背景 NAT技术 NAT IP转换过程 NAPT NAT技术的优缺点 网络层 路由…

ChatGPT绘图指南:DALL.E3玩法大全(一)

一、 DALLE.3 模型介绍 1、什么是 DALLE.3 模型? DALLE-3模型,是一种由OpenAI研发的技术,它是一种先进的生成模型,可以将文字描述转化为清晰的图片。这种模型的名称"DALLE"实际上是"Deep Auto-regressive Latent …

LeetCode LCR 085. 括号生成

题目链接https://leetcode.cn/problems/IDBivT/description/ 正整数 n 代表生成括号的对数&#xff0c;请设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 class Solution {public List<String> generateParenthesis(int n) {List<String>…

【类与对象 -2】学习类的6个默认成员函数中的构造函数与析构函数

目录 1.类的6个默认成员函数 2.构造函数 2.1概念 2.2特性 3.析构函数 3.1析构函数的概念 3.2特性 1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;…

嵌入式——Flash(W25Q64)

目录 一、初识W25Q64 1. 基本认识 2. 引脚介绍 ​编辑 二、W25Q64特性 1. SPI模式 2. 双输出SPI方式 三、状态寄存器 1. BUSY位 2. WEL位 3. BP2、BP1、 BP0位 4. TB位 5. 保留位 6. SRP位 四、常用操作指令 1. 写使能指令&#xff08;06h&#xff09; 2. 写禁…

攻防世界——re2-cpp-is-awesome

64位 我先用虚拟机跑了一下这个程序&#xff0c;结果输出一串字符串flag ——没用 IDA打开后 F5也没有什么可看的 那我们就F12查看字符串找可疑信息 这里一下就看见了 __int64 __fastcall main(int a1, char **a2, char **a3) {char *v3; // rbx__int64 v4; // rax__int64 v…

C语言指针(初阶)

文章目录 1:内存与地址1.1内存1.2:如何理解编址 2:指针变量与地址2.1:指针变量与解引用操作符2.1.1:指针变量2.1.2:如何拆解指针类型2.1.3:解引用操作符 2.2:指针变量的大小 3:指针变量类型的意义代码1解引用修改前解引用修改后 代码2解引用修改前解引用修改后 4:const修饰指针…

Rust 语言学习杂谈 (end) (各种工作中遇到的疑难杂症)

1.在运行 “cargo build --release” 的时候&#xff0c;到底发生了什么&#xff1f; 源 (GPT4.0) : 当我们运行 cargo build --release 命令时&#xff0c;实际上在进行一系列复杂的步骤来编译和构建 Rust 项目的发布版本。这个过程大致可以分解为以下几个步骤&#xff1a;…

杂谈--spconv导出中onnx的扩展阅读

Onnx 使用 Onnx 介绍 Onnx (Open Neural Network Exchange) 的本质是一种 Protobuf 格式文件&#xff0c;通常看到的 .onnx 文件其实就是通过 Protobuf 序列化储存的文件。onnx-ml.proto 通过 protoc (Protobuf 提供的编译程序) 编译得到 onnx-ml.pb.h 和 onnx-ml.pb.cc 或 on…

C#根据权重抽取随机数

&#xff08;游戏中一个很常见的简单功能&#xff0c;比如抽卡抽奖抽道具&#xff0c;或者一个怪物有多种攻击动作&#xff0c;按不同的权重随机出个攻击动作等等……&#xff09; 假如有三种物品 A、B、C&#xff0c;对应的权重分别是A&#xff08;50&#xff09;&#xff0c…

django中查询优化

在Django中&#xff0c;查询优化是一个重要的主题&#xff0c;因为不正确的查询可能会导致性能问题&#xff0c;尤其是在处理大量数据时。以下是一些在Django中进行查询优化的建议&#xff1a; 一&#xff1a;使用select_related和prefetch_related: select_related用于优化一…

论文阅读_语音识别_Wisper

英文名称: Robust Speech Recognition via Large-Scale Weak Supervision 中文名称: 通过大规模弱监督实现鲁棒语音识别 链接: https://proceedings.mlr.press/v202/radford23a.html 代码: https://github.com/openai/whisper 作者: Alec Radford, Jong Wook Kim, Tao Xu, Greg…

LabVIEW卫星电视接收仿真系统

LabVIEW卫星电视接收仿真系统 随着卫星电视数字化的加速&#xff0c;传统模拟信号接收系统已无法满足需求。设计一套船载数字卫星电视接收系统&#xff0c;通过LabVIEW环境进行仿真实验&#xff0c;验证系统设计的可行性与有效性&#xff0c;满足数字信号接收的高精度要求&…

前端开发:Vue框架与前端部署

Vue Vue是一套前端框架&#xff0c;免除原生)avaScript中的DOM操作&#xff0c;简化书写。是基于MVVM(Model–View-ViewModel)思想&#xff0c;实现数据的双向绑定&#xff0c;将编程的关注点放在数据上。简单来说&#xff0c;就是数据变化的时候, 页面会自动刷新, 页面变化的时…

基于深度置信网络的多模态过程故障评估方法及应用

源自&#xff1a;自动化学报 作者&#xff1a;张凯, 杨朋澄, 彭开香, 陈志文 “人工智能技术与咨询” 发布 摘 要 传统的多模态过程故障等级评估方法对模态之间的共性特征考虑较少, 导致当被评估模态故障信息不充分时, 评估的准确性较低. 针对此问题, 首先, 提出一种共性…

DNS出现问题了,怎么处理?-提供完整解决方案

DNS作用 将域名(网址)解析为IP地址 DNS的作用是将域名(网址)解析为IP地址,方便用户访问互联网。通过DNS,用户可以轻松地通过域名来获取对应的IP地址,无需记住复杂的数字串。 负载均衡 负载均衡是DNS的一种功能,它能够将访问请求转发到不同的服务器,从而实现负载均衡。…