【数据分析之道-Matplotlib(四)】Matplotlib散点图

news2024/12/23 9:35:48

在这里插入图片描述

文章目录

  • 专栏导读
  • 1、Matplotlib散点图语法
  • 2、Matplotlib散点图设置图标大小
  • 3、Matplotlib散点图自定义点颜色
  • 4、Matplotlib散点图设置两组散点图
  • 5、Matplotlib散点图使用随机数来设置散点图
  • 6、Matplotlib散点图显示颜色条 Colormap

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

1、Matplotlib散点图语法

散点图是一种常用的数据可视化方式,用于展示两个变量之间的关系。在Matplotlib中,可以使用scatter()函数来绘制散点图。

scatter()函数的基本语法如下:

plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, 
vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)

参数说明:

  • x:表示散点图中各个点的横坐标,可以是一个数组或者列表。

  • y:表示散点图中各个点的纵坐标,可以是一个数组或者列表。

  • s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。

  • c:点的颜色,默认蓝色 ‘b’,也可以是个 RGB 或 RGBA 二维行数组。

  • marker:点的样式,默认小圆圈 ‘o’。

  • cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。

  • norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。

  • vmin,vmax::亮度设置,在 norm 参数存在时会忽略。

  • alpha::透明度设置,0-1 之间,默认 None,即不透明。

  • linewidths::标记点的长度。

  • edgecolors::颜色或颜色序列,默认为 ‘face’,可选值有 ‘face’, ‘none’, None。

  • plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

  • **kwargs::其他参数。

以下散点图演示了如何使用 Matplotlib 创建一个基本的散点图:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)

# 绘制散点图
plt.scatter(x, y)

# 设置标题和坐标轴标签
plt.title('Simple Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

在这里插入图片描述

使用随机数生成了50个横坐标 x 和纵坐标 y。然后,使用 scatter() 函数绘制了散点图,其中 x 和 y 分别表示散点图中各个点的横坐标和纵坐标。
我们还设置了标题和坐标轴标签,分别使用 title() 和 xlabel()、ylabel() 函数。
最后,通过 show() 函数显示图形。

2、Matplotlib散点图设置图标大小

设置散点图的大小,可以使用scatter()函数的s参数来指定点的大小。该参数可以接受一个标量值或一个数组,用于指定每个点的大小。

以下是设置散点图大小的示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)
sizes = np.random.randint(10, 100, 50)

# 设置散点图大小
plt.scatter(x, y, s=sizes)

# 设置标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

在这里插入图片描述

使用sizes数组来指定每个点的大小。sizes数组的长度与数据点的个数相同,对应每个数据点的大小。

3、Matplotlib散点图自定义点颜色

自定义散点图中点的颜色,可以使用scatter()函数的c参数来指定颜色。该参数可以接受一个标量值或一个数组,用于指定每个点的颜色。

以下是自定义散点图点的颜色的示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)

# 自定义散点图颜色
plt.scatter(x, y, c=colors)

# 设置标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

在这里插入图片描述

使用colors数组来指定每个点的颜色。colors数组的长度与数据点的个数相同,对应每个数据点的颜色。

可以使用不同的方式来指定颜色,例如:

  • 使用预定义的颜色名称,如’red’、‘blue’、'green’等。
  • 使用RGB元组指定颜色,如(0.1, 0.2, 0.3),表示红色、绿色和蓝色的强度。
  • 使用16进制字符串指定颜色,如’#FF0000’表示纯红色。
plt.scatter(x, y, c='red')

在这里插入图片描述

4、Matplotlib散点图设置两组散点图

要设置两组散点图,可以使用两次scatter()函数来绘制不同的数据点,并可以分别指定它们的颜色、大小等属性。

以下是设置两组散点图的示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x1 = np.random.rand(50)
y1 = np.random.rand(50)
x2 = np.random.rand(50)
y2 = np.random.rand(50)

# 设置散点图1的属性
plt.scatter(x1, y1, c='red', label='Group 1', alpha=0.5)

# 设置散点图2的属性
plt.scatter(x2, y2, c='blue', label='Group 2', alpha=0.5)

# 设置标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图例
plt.legend()

# 显示图形
plt.show()

在这里插入图片描述

在上面的代码中,我们生成了两组随机的横坐标和纵坐标数据,分别用x1、y1和x2、y2表示。然后使用两次scatter()函数分别绘制了两组散点图。第一组使用红色(c=‘red’)表示,第二组使用蓝色(c=‘blue’)表示。我们还通过label参数为每组散点图指定了标签,以便在图例中显示。通过设置alpha参数来调整散点的透明度,增强可视效果。
最后,我们设置了标题和坐标轴标签,并通过legend()函数显示图例,以区分两组散点图。

5、Matplotlib散点图使用随机数来设置散点图

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.randint(10, 100, 100)

# 绘制散点图
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7)

# 设置标题和坐标轴标签
plt.title('Scatter Plot with Random Data')
plt.xlabel('X')
plt.ylabel('Y')


# 显示图形
plt.show()

在这里插入图片描述

我们使用随机数生成了100个横坐标 x 和纵坐标 y,以及每个点的颜色 colors 和大小 sizes。其中,colors 是一个由随机数生成的数组,用于指定每个点的颜色,而 sizes 是一个由随机数生成的整数数组,用于指定每个点的大小。
然后,我们使用 scatter() 函数绘制散点图,其中 c 参数用于指定颜色,s 参数用于指定大小。通过设置 alpha 参数,可以调整点的透明度。

6、Matplotlib散点图显示颜色条 Colormap

如果要显示颜色条,需要使用 plt.colorbar() 方法:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.randint(10, 100, 100)

# 绘制散点图
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7)

# 设置标题和坐标轴标签
plt.title('Scatter Plot with Random Data')
plt.xlabel('X')
plt.ylabel('Y')

# 显示颜色条
plt.colorbar()

# 显示图形
plt.show()

在这里插入图片描述

换个颜色条参数, 设置为 cmap=‘plasma’:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.randint(10, 100, 100)

# 绘制散点图
plt.scatter(x, y, c=colors,cmap='plasma', s=sizes, alpha=0.7)

# 设置标题和坐标轴标签
plt.title('Scatter Plot with Random Data')
plt.xlabel('X')
plt.ylabel('Y')

# 显示颜色条
plt.colorbar()

# 显示图形
plt.show()

在这里插入图片描述
除了’plasma’颜色条之外,Matplotlib还提供了许多其他的内置颜色条供选择。以下是一些常用的内置颜色条:

‘viridis’‘afmhot_r’
‘inferno’‘magma’
‘jet’‘hot’
‘cool’‘spring’
‘summer’‘autumn’
‘winter’‘gray’
‘bone’‘copper’
‘pink’‘YlOrRd’
‘BuPu’‘GnBu’
‘OrRd’

你可以在Matplotlib的官方文档中查看完整的颜色条列表:https://matplotlib.org/stable/tutorials/colors/colormaps.html


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Github Copilot Chat的规则泄露,详细分析这31条规则

GitHub Copilot 是一款由 GitHub 和 OpenAI 共同开发的人工智能编程助手。它是一种基于机器学习的代码自动完成工具,旨在帮助开发人员更高效地编写代码。 GitHub Copilot Chat是GitHub Copilot的一部分,它是一个基于人工智能的编程助手,由Op…

怎么取消只读模式?硬盘进入只读模式怎么办?

案例:电脑磁盘数据不能修改怎么办? 【今天工作的时候,我想把最近的更新的资料同步到电脑上的工作磁盘,但是发现我无法进行此操作,也不能对磁盘里的数据进行改动。有没有小伙伴知道这是怎么一回事?】 在使…

文件夹中不显示SolidWorks缩略图的解决办法

在文件夹中显示SolidWorks缩略图能帮助我们快速找到需要打开的图纸文件,但是有时候装上SolidWorks之后在文件夹中并不显示图纸文件的缩略图,解决办法如下: 1.打开SolidWorks,点击“选项—系统选项—普通”,勾选“在资…

项目采购管理

一、规划采购管理(编制采购管理计划) 记录采购决策、明确采购方法、识别潜在卖方的过程 作用:确定是否需要外部支持,如果需要,则还要决定采购什么、如何采购、采购多少、以及何时采购。 输入: 组织过程资产 合同类型:一、总价合同;二、成本补偿合同;三、工料合同 …

基于html+css的图展示75

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

python连接kafka

背景:读取TXT文件,加载到kafka中,然后通过logstash消费kafka中的数据加载到es中 第一步:导入相应的依赖包 pip install kafka-python pip install loguru pip install msgpack第二步:编写连接kafka的代码 # -*- …

chatGPT 中科院学术优化 超详细安装教程

1.下载 项目地址:https://github.com/binary-husky/chatgpt_academic 第一种:可以直接下载zip安装包,然后直接解压。 第二种:采用git来下载 git clone https://github.com/binary-husky/chatgpt_academic.git cd chatgpt_acad…

全新推出Bard,谷歌google或许可以靠它打败微软OpenAI ChatGPT

目录 前言Bard优势Bard新功能更直观的Bard互动Bard深度集成google search“Help me write” in Gmail谷歌地图路线的全新沉浸式视图谷歌照片全新Magic Editor体验Bard与其他服务的结合谷歌为Android开发者推出AI编码机器人其他 总结参考资料其它资料下载 前言 截止到目前&…

LSTM-理解 Part-2(RNN的局限性)

之前写过一部分LSTM-理解 Part-1(RNN:循环神经网络) 这是其中的第二部分,阐述RNN的局限性。 The Problem of Long-Term Dependencies 长期依赖问题 长期依赖问题指的是在序列数据中,某些元素之间存在着较长时间的依赖…

项目开发任务单发布规范-Tower

前言 这是针对低权情况下,美术组内使用的敏捷快速任务单,特点是便捷快速。 选择Tower的原因是因为当年他免费(如果用飞书合集工具效果更好) 在游戏开发中,选择一个合理的任务单工具,并规范任务单具体内容&a…

免费的Cloudflared实现外网访问群晖(续)

这两天可能中了甲流,因为做了抗原始终是一条杠 老婆是前天晚上开始发烧的,我则是从昨天中午开始的,昨晚是 37.8℃,今早起来是 38℃,症状就是肌肉酸痛,头有点昏昏沉沉的,公众号后台、博客上都积…

大佬强推:高速PCB Layout设计技巧及经验

高速PCB Layout设计是电子设计的重要环节,它的好坏,将直接影响到电路板的性能和可靠性,而且很多工程师在学习高速PCB Layout时非常容易走歪路,为了少走歪路,本文将根据多位名师的教学内容,归纳总结整理出这…

pycharm pyqt5 gui designer 安装及配置使用

参考文章: https://blog.csdn.net/wshyb0314/article/details/127916084 https://zhuanlan.zhihu.com/p/32259868 一、安装pyqt5、pyqt5-tools(QtDesigner在这个包里) pip install pyqt5 -i https://pypi.douban.com/simple --trusted-host pypi.douban.com pip i…

怎么给图片加水印?

怎么给图片加水印?不管我们是在平时的工作还是生活中,很多小伙伴都喜欢在各种平台上分享自己拍摄的照片。然而,在收到赞美和点赞之时,我们是否也会因为担心别人转发或滥用图片而感到困扰呢?要解决这个问题非常简单&…

FL Studio2023水果音乐制作入门教程

“没有早期音乐教育,干什么事我都会一事无成”。这并非某位音乐家精心熬制的心灵鸡汤,而是出自物理学家爱因斯坦之口,朋友们没有看错,就是那个被称为二十世纪伟大科学家的爱因斯坦,所以,别不信哦&#xff0…

[FMC150]基于VITA57.1 的2 路125MSPS AD 采集、2 路250MSPS DA 回放FMC 子卡模块(AD9268/AD9747)

板卡概述 FMC150_V30 是一款基于VITA57.1 规范的2 路125MSPS 采样率16 位分辨率AD 采集、2 路250MSPS 采样率16 位分辨率DA回放FMC 子卡模块。该模块遵循VITA57.1 规范,可直接与符合VITA57.1 规范的FPGA 载卡配合使用,板卡ADC 器件采用ADI 公司的AD9268…

上传成功但是在app管理中心找不到版本提交的解决方法

转载:Appuploader 常见错误及解决方法 Appuploader常见错误及解决方法 问题解决秘籍 遇到问题,首先请登录苹果开发者官网检查账号是否有权限,是否被停用,是否过期,是否有协议需要同意,并且在右上角切换账…

Golang笔记:使用http包实现基础WebServer功能

文章目录 目的监听请求并响应请求解析进行响应静态文件服务总结 目的 WebServer是一种非常常用的功能,Golang的高并发特性在处理此类工作中也有较大的优势,同时借助标准库中的 net/http 包可以非常快速的编写WebServer应用。这篇文章将简单记录下相关内…

商业智能上阵,城商行突围数字经济时代

作者 | 曾响铃 文 | 响铃说 ChatGPT爆火,究竟带来了什么? 有人说,它以一种面向C端的直观方式,让普罗大众第一次直观感受到“智能化”的能力和价值。 只要大胆“提出要求”,一个智能化的应用就能够“给出回应”&…

《从0开始学架构》课程笔记(一)

架构到底是指什么? 架构设计相关的特性: 架构设计的思维和程序设计的思维差异很大,架构设计的关键思维是判断和取舍,程序设计的关键思维是逻辑和实现。架构设计没有体系化的培训和训练机制。程序员对架构设计的理解存在很多误区。…