python绘图工具matpoltlib的常用操作

news/2024/10/20 18:52:45/

目录

    • 1.matplotlib概述
    • 2.风格设置
    • 3.条形图
    • 4.盒图
    • 5.直方图和散点图
    • 6.3D图
    • 7.pie图和布局
    • 8.Pandas与sklearn结合实例

1.matplotlib概述

Matplotlib 是一个用 Python 编程语言编写的、基于 NumPy 的开源数据可视化库。它提供了一套完整的兼容 MATLAB 的 API,支持各种常用的二维数据可视化、三维数据可视化以及动画制作等功能,能够轻松生成高质量的数据图表和图形。下面主要介绍其中的pyplot的常用绘图操作。
在这里插入图片描述
在这里插入图片描述
常用的线条样式

字符类型字符类型
'-' 实线'--'虚线
'-.'虚点线':'点线
'.'','像素点
'o'圆点'v'下三角点
'^'上三角点'<'左三角点
'>'右三角点'1'下三叉点
'2'上三叉点'3'左三叉点
'4'右三叉点's'正方点
'p'五角点'*'星形点
'h'六边形点1'H'六边形点2
'+'加号点'x'乘号点
'D'实心菱形点'd'瘦菱形点
'_'横线点

在这里插入图片描述

表示颜色的字符参数有:

字符颜色
‘b’蓝色,blue
‘g’绿色,green
‘r’红色,red
‘c’青色,cyan
‘m’品红,magenta
‘y’黄色,yellow
‘k’黑色,black
‘w’白色,white

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在 Matplotlib 的 pyplot 模块中,gca() 函数可以获取当前正在使用的 Axes 对象,或创建一个新的 Axes 对象并将其设置为当前 Axes。
gca() 可以用来获取和设置图表中的坐标轴对象(Axes)以及它们的属性。它可以内嵌于其他绘图函数中,用于获取当前的 Axes 对象以进行进一步设置,例如,设置坐标轴范围、标签、标题、刻度、网格线等。当然,如果图表中没有 Axes 对象,则需要通过 add_axes() 或其他函数创建一个新的 Axes 对象,然后将它设置为当前对象。

import numpy as np
import matplotlib.pyplot as plt# 生成一组数据
x = np.linspace(-10, 10, 100)
y = np.sin(x)# 绘制折线图
plt.plot(x, y)# 获取当前 Axes 对象
ax = plt.gca()# 设置坐标轴范围
ax.set_xlim([-10, 10])
ax.set_ylim([-1, 1])# 设置坐标轴刻度
ax.set_xticks([-10, -5, 0, 5, 10])
ax.set_yticks([-1, -0.5, 0, 0.5, 1])# 设置坐标轴标签
ax.set_xlabel('x')
ax.set_ylabel('sin(x)')# 设置图表标题
ax.set_title('y=sin(x)')# 显示图表
plt.show()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.风格设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.条形图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.盒图

在这里插入图片描述
Q1 左半部分的中位数 Q3右半部分的中位数 中间是全体数据的中位数
plt.boxplot 是 Matplotlib 库中用于绘制箱线图也即盒图的函数。 箱线图可以展示数据的主要统计特性,包括中位数、四分位数、最大最小值等, 可用于发现异常值或者检查数据的分布情况。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.直方图和散点图

在这里插入图片描述
在这里插入图片描述
numpy.random.multivariate_normal() 函数返回一个二维的数组,
每一行表示一个二维多元正态分布随机数。如果参数 size 被指定了,则返回的数组维度为 (size, 2),其中第一列表示随机数在第一个维度上的取值,第二列表示随机数在第二个维度上的取值。如果 size 没有被指定,则返回一个长度为 2 的一维数组,第一个元素为第一个维度上的取值,第二个元素为第二个维度上的取值。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3D图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.pie图和布局

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

8.Pandas与sklearn结合实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 首先,通过 pd.read_csv() 函数从 url 中读取 csv 文件,并将其中的 “?” 值转换为 NaN 缺失值,得到一个名为 df 的数据框。然后,创建一个 Imputer 对象,并将其应用于 df 中,即 Imputer().fit_transform(df)。这个操作将会使用指定的方法对 df 中的缺失值进行填充,默认是使用平均值 mean。

  • 这里的 fit_transform() 方法将会自动地修改缺失值,并返回填充好的数据。接着,将填充好的结果转换成一个新的数据框,并将其列名、索引与原来的 df 对齐。

  • Imputer 类只能对数值型数据进行填充。如果数据中包含其他类型的数据,在使用 Imputer 之前需要先使用相应的方法进行数据转换。
    在这里插入图片描述

  • 首先,从填充好缺失值的 impute 数据框中删除了名为 “Dx:Cancer” 的列,得到一个新的数据框 features,用来存储所有特征。此外,还将原数据框中的名为 “Dx:Cancer” 的列单独拿出来,存储在变量 y 中,用来存储分类目标变量。接着,使用 PCA 主成分分析将 features 数据框中的所有特征降维到了三维空间,得到降维后的数据 X_r。

  • 然后,使用 pca.explained_variance_ratio_ 查看了每个主成分所能解释的方差比例,分别对应第一、第二、第三个主成分。结果显示第一个主成分可以解释数据集的 38% 的方差,第二个主成分可以解释 23% 的方差,第三个主成分可以解释 14% 的方差,共计解释了 75% 的方差。

  • 最后,使用 Axes3D() 函数创建了一个三维坐标系对象,并通过 ax.scatter() 函数以 X_r 中的三个主成分为坐标,使用分类目标变量 y 来为点着色,并将结果可视化展示出来。
    在这里插入图片描述
    在这里插入图片描述


http://www.ppmy.cn/news/96568.html

相关文章

一个简单的基于C/S模型的TCP通信实例

1 TCP协议 1.1 概念 TCP是一种面向连接的、可靠的协议&#xff0c;有点像打电话&#xff0c;双方拿起电话互通身份之后就建立了连接&#xff0c;然后说话就行了&#xff0c;这边说的话那边保证听得到&#xff0c;并且是按说话的顺序听到的&#xff0c;说完话挂机断开连接。也…

数字前面填充0工具类

工具类 public class ParamUtil {//检查是否为数字private static final Pattern pattern Pattern.compile("[0-9]*");//检查是否为01-99之间的数字private static final Pattern pattern2 Pattern.compile("^([1-9]|0[1-9]|[1-9][0-9])$");//检查是否大…

[论文分享] jTrans: Jump-Aware Transformer for Binary Code Similarity

jTrans: Jump-Aware Transformer for Binary Code Similarity [ISSTA 2022] 二进制代码相似性检测(Binary code similarity detection, BCSD)在漏洞检测、软件构件分析、逆向工程等领域具有重要应用。最近的研究表明&#xff0c;深度神经网络(DNNs)可以理解二进制代码的指令或…

SAP MM采购申请审批-成本中心

抬头审批的采购申请中行项目里的成本中心必须是同一个! 1、创建特性成本中心CT04 2、把特性分配给类CL02 3、维护分类审批策略 这些成本中心都可以使用&#xff0c;如果是单项就需要再CT04维护成多值。 如下采购申请&#xff0c;系统找不到审批策略, 2个行项目中&#xff0c;成…

《Spring Guides系列学习》guide56 - guide60

要想全面快速学习Spring的内容&#xff0c;最好的方法肯定是先去Spring官网去查阅文档&#xff0c;在Spring官网中找到了适合新手了解的官网Guides&#xff0c;一共68篇&#xff0c;打算全部过一遍&#xff0c;能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…

leetcode 942. 增减字符串匹配

题目描述解题思路执行结果 leetcode 942. 增减字符串匹配. 题目描述 增减字符串匹配 由范围 [0,n] 内所有整数组成的 n 1 个整数的排列序列可以表示为长度为 n 的字符串 s &#xff0c;其中: 如果 perm[i] < perm[i 1] &#xff0c;那么 s[i] I 如果 perm[i] > perm[i…

C Primer Plus第九章编程练习答案

学完C语言之后&#xff0c;我就去阅读《C Primer Plus》这本经典的C语言书籍&#xff0c;对每一章的编程练习题都做了相关的解答&#xff0c;仅仅代表着我个人的解答思路&#xff0c;如有错误&#xff0c;请各位大佬帮忙点出&#xff01; 1.设计一个函数min(x, y)&#xff0c;…

电子科技大学编译原理复习笔记(四):程序语言的设计

目录 前言 重点一览 语言的定义 比较&#xff1a;生成观点与识别观点 语义又该怎么描述&#xff1f; 符号串 符号串集合 ⭐文法&#xff08;超重点&#xff09; 定义 组成 表示 ⭐分类&#xff08;重点&#xff09; 文法产生的语言 ⭐短语、直接短语和句柄&…