Python的matplotlib可视化工具基本操作(数据分析生成图表)

news2024/10/11 22:47:09

一、安装导入

1、使用包管理器安装matplotlib

pip3 install matplotlib

2、导入plt工具

import matplotlib.pyplot as plt

二、基本函数

1、创建图表 

使用pyplot工具打点调用创建图表函数

例如创建直方图

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data=np.random.rand(100)
plt.hist(data,color='blue')
plt.show()

上述代码中data是生成的100个0~1之间的随机数数组。plt.hist()是利用pyplot工具打点调用hist直方图函数创建直方图,第一个参数为绘图所需的数据,第二个参数是设置这个图表的颜色。plt.show()是将图表绘制出来。

图表:

 pyplot工具能绘制的图表种类很多,都可以使用pyplot打点调用。常见的图表类型:

  1. 折线图(Line Plot)
    • 用于展示数据随时间或其他连续变量的变化趋势。
    • 使用plt.plot(x, y)函数创建。
  2. 散点图(Scatter Plot)
    • 用于展示两个变量之间的关系和分布。
    • 使用plt.scatter(x, y)函数创建。
    • 可以通过设置点的颜色、大小、形状等参数来定制散点图的外观。
  3. 柱状图(Bar Plot)
    • 用于比较不同类别的数据。
    • 使用plt.bar(x, heights)函数创建。
    • x参数表示柱子的位置,heights参数表示柱子的高度。
  4. 饼图(Pie Chart)
    • 用于显示数据的相对比例。
    • 使用plt.pie(sizes, labels=labels, autopct='%1.1f%%')函数创建。
    • sizes参数表示各部分的大小,labels参数表示各部分的标签,autopct参数用于显示各部分所占的百分比。
  5. 箱线图(Box Plot)
    • 用于展示数据的分布特征,包括最小值、第一四分位数、中位数、第三四分位数和最大值。
    • 使用plt.boxplot(data)函数创建。
    • data参数是一个包含多个数据点的列表或数组。
  6. 直方图(Histogram)
    • 用于展示数据的频数分布。
    • 使用plt.hist(data, bins=num_bins, edgecolor='black')函数创建。
    • data参数是数据点的列表或数组,bins参数指定直方图的柱数或柱的边界,edgecolor参数用于设置柱子的边框颜色。
  7. 双坐标轴折线图(Dual Y-Axis Line Plot)
    • 在同一张图上绘制两条折线,分别使用左右两个不同的Y轴刻度。
    • 常用于表示不同量纲或变化幅度较大的数据。
    • 需要通过创建第二个坐标轴(ax2 = ax1.twinx())来实现。
  8. 面积图(Area Plot)
    • 折线图的一种变体,通过在折线下方填充颜色来展示数据随时间的累积变化。
    • 常用于表示累积数据,如总收入或总销量。
    • 可以通过在plt.plot()函数中设置fill_between参数或使用plt.fill_between()函数来实现。
  9. 三维图表(3D Plot)
    • 包括三维散点图、三维折线图等。
    • 需要使用mpl_toolkits.mplot3d模块中的功能来创建。
    • 例如,使用Axes3D.scatter(x, y, z)创建三维散点图

创建图表的属性: 

颜色(Color)color 或 c:设置线条或点的颜色。
线型(Linestyle)linestyle 或 ls:设置线条的类型(如实线、虚线等)。
线宽(Linewidth)linewidth 或 lw:设置线条的宽度。
标记(Marker)marker:设置散点图中点的形状。
标记大小(Marker Size)markersize 或 ms:设置散点图中点的大小。
标记边缘颜色(Marker Edge Color)markeredgecolor 或 mec:设置散点图中点边缘的颜色。
标记填充颜色(Marker Face Color)markerfacecolor 或 mfc:设置散点图中点的填充颜色。
透明度(Alpha)alpha:设置线条或点的透明度。
标签(Label)label:为线条或数据点设置标签,用于图例。
标题(Title)使用 plt.title() 函数为整个图表设置标题。
图例(Legend)使用 plt.legend() 函数添加图例,显示不同线条或数据点的标签。
网格(Grid)使用 plt.grid() 函数添加网格线,帮助识别图表中的值。
坐标轴标签(Axis Labels)使用 plt.xlabel() 和 plt.ylabel() 函数为 x 轴和 y 轴设置标签。
坐标轴范围(Axis Limits)使用 plt.xlim() 和 plt.ylim() 函数设置坐标轴的范围。
坐标轴刻度(Ticks)使用 plt.xticks() 和 plt.yticks() 函数自定义坐标轴的刻度。
字体大小(Font Size)可以通过 fontsize 参数设置标题、标签、图例等的字体大小。
线条样式(Line Styles)组合例如,'b-' 表示蓝色实线,'g--' 表示绿色虚线等。
这些属性可以组合使用

 2、设置图表

设置标题和标签

plt.title('图表标题') 
plt.xlabel('x 轴标签') 
plt.ylabel('y 轴标签')

设置坐标轴范围

plt.xlim(xmin, xmax)  
plt.ylim(ymin, ymax)

添加网格

plt.grid(True)

添加图例

plt.legend(['标签1', '标签2'], loc='upper right')

设置颜色、线型和标记:

plt.plot(x, y, color='red', linestyle='--', marker='o')

 设置x,y轴刻度:

plt.xticks(np.arange(0, 11, 1))  # 设置 x 轴刻度为 0 到 10 的整数
plt.yticks(np.arange(0, 11, 1))

设置 x 轴和 y 轴的刻度标签 : 

plt.xticklabels(factories)  
plt.yticklabels(quality) 

其他设置:

1、创建绘图子集

fig,axs=plt.subplots(2,2)

上述代码表示在画布上将有4个图表:2*2。返回值:fig:当前画布,axs:设置数据引用。

注意:使用了子集的画布,在设置标题和标签时要在方法前加上:"set_"。例如在子集上设置标题:

axs[0][1].set_title('随机样本')

2、自动布局

fig.tight_layout()

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

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

相关文章

【unity框架开发9】序列化字典,场景,vector,color,Quaternion

文章目录 前言一、可序列化字典类普通字典简单的使用可序列化字典简单的使用 二、序列化场景三、序列化vector四、序列化color五、序列化旋转Quaternion完结 前言 自定义序列化的主要原因: 可读性:使数据结构更清晰,便于理解和维护。优化 I…

Android Framework默认授予app通知使用权限

安卓通知使用权限 在安卓系统中,应用程序需要获取通知使用权限才能向用户发送通知。以下是关于安卓通知使用权限的一些信息: 权限获取方式 当用户安装应用时,系统可能会在安装过程中提示用户授予应用通知权限。用户可以选择允许或拒绝。 应…

记录一些yolo-world训练数据集的报错

参考的这个文章 https://blog.csdn.net/ITdaka/article/details/138863017?spm1001.2014.3001.5501 openai快捷下载:https://download.csdn.net/download/qq_43767886/89876720 然后我打算训练coco数据集,遇到了以下的问题 问题一 原因:…

智慧农田新篇章:高标准农田灌区信息化的创新实践

在新时代的农业发展蓝图中,智慧农田已成为推动农业现代化、实现可持续发展目标的关键一环。高标准农田灌区信息化作为智慧农业的重要组成部分,正引领着一场深刻的农业技术革命,它不仅关乎粮食安全与资源高效利用,还深刻影响着农村…

writehelpAI论文写作,专业毕业论文救星

撰写专业毕业论文是每位学生学术旅程中的一个重要里程碑,它不仅检验了你对专业知识的掌握程度,还考验着研究能力、批判性思维以及书面表达技巧。在这个过程中,writehelpAI这样的智能写作助手可以成为你的得力伙伴,帮助解决从选题到…

功率检测和语音功能

INA226 INA226 High-Side or Low-Side Measurement, Bi-Directional Current and Power Monitor with I2C Compatible Interface datasheet (Rev. A) INA226功率监测模块原理 7.5 编程 INA226 器件的一个重要方面是它不一定测量电流或功率。该器件可测量施加在 IN 和 IN- 输入…

数据结构重点学习笔记教程——入门必看 数据结构心得

数据结构教程知识点 章节目录 一、数据结构概述二、线性表三、栈与队列四、数组与字符串五、树与二叉树六、图七、排序算法八、查找算法九、哈希表与散列法十、高级数据结构 总结简介 本数据结构教程知识点涵盖了从数据结构概述到高级数据结构的全方位内容,旨在帮…

河南省学籍管理员在校拍照采集学生证件照流程介绍

校园证件照采集是校园管理中一个重要的环节,它涉及为学生、教职工等校园成员拍摄并处理符合特定要求的证件照片。以下是针对河南省中小学生学籍照片集中拍摄采集的步骤指南,用于指导学籍管理员开展相关工作。 一、学籍照片采集的前期准备 (1…

Java读取Excel文件_详细可执行_低内存占用

EasyExcel介绍:高效内存友好Java Excel处理工具,轻松应对大文件 EasyExcel是一个基于Java的、快速且简洁的Excel处理工具,专为解决大文件内存溢出问题设计。与传统的Excel处理框架如Apache POI和jxl相比,它显著降低了内存消耗。例…

linuxC高级_day5(完结)

目录 指针函数 1.概念 2.定义格式 3.函数内开辟空间 函数指针 1.概念 2.定义格式 2.1 格式 3.函数指针数组 3.1 概念 3.2 格式 3.3 赋值 条件编译 1.根据宏是否定义 根据宏值 3.防止头文件重复包含 指针函数 1.概念 本质是函数,函数返回值是指针。类…

C++系统教程004-数据类型(03)

一 .变量 变量是指在程序运行期间其值可以发生改变的量。每个变量都必须有一个名称作为唯一的标识,且具有一个特定的数据类型。变量使用之前,一定要先进行声明或定义。 1.变量的声明和定义 C中,变量声明是指为变量提供一个名称&#xff0c…

鸢尾花书实践和知识记录[6-23数据聚类]

文章目录 思维导图数据聚类和引例基于图论的聚类算法算法流程1构造数据构造距离矩阵相似度相似度矩阵创建图 拉普拉斯矩阵标准拉普拉斯矩阵(Combinatorial Laplacian)归一化拉普拉斯矩阵 (Normalized Laplacian)无标度拉普拉斯矩阵 (Signless Laplacian)归一化对称拉普拉斯矩阵…

这么好看的桌面时钟 怎么能不分享给大家

最近小编发现了非常好用的桌面时钟。桌面时钟顾名思义就是可以放在桌面上的时钟,这是一款界面优美,功能实用,易于操作的桌面时钟工具芝麻时钟(下载地址:https://clock.zhimasoft.cn/)。 1、首先来看下这些时钟的效果,…

Ping32企业加密软件:保护数据安全

在数字化时代,数据安全已成为每个企业不可忽视的重要课题。无论是客户信息、财务报表,还是商业机密,数据的安全性直接关系到企业的声誉与运营。为了应对不断变化的安全威胁,选择一款可靠的企业加密软件尤为重要。在这里&#xff0…

MFC的.rc 和.rc2文件【常见问题】

目录 一、介绍 .rc 文件 .rc2 文件 使用上的建议 二、实例 工程截图 rc文件 rc2文件 注意: 三、使用 能否删除? 一、介绍 在MFC项目中,.rc和.rc2文件都是资源脚本文件,但它们有不同的用途和管理方式。它们两指向的是同…

VS2022使用技巧

目录 如何打开资源管理器如何打开监视窗口 如何打开资源管理器 如何打开监视窗口 前提:必须先按f10 开始调试起来了

Typora+PicGo实现自动上传图片至图床

文章目录 前言图床选择图床去不图床 配置PicGo安装Typora对象存储七牛云又拍云 前言 使用过Typora的小伙伴应该已经发现,若是想分享给别人看不但需要发送md文件,还需要把对应的图片一起发给对方,否则图片无法显示。 但是每次都要打个压缩包发…

USIM 卡的鉴权原理

USIM 卡的一个重要功能是用来做鉴权。鉴权是移动通信中非常重要的概念,具体的实现需要很复杂的算法。 鉴权:就是鉴定你是否拥有访问网络的权利。用户在开卡后,手机的 USIM 卡里和运营商的核心网中都将存储一个密钥,或者说一个密码…

进程同步问题

在操作系统中引入进程后,一方面系统中多道程序可以并发进行,有效的改善了资源利用率,提高了系统的吞吐量。但另一方面,系统变得更加复杂了,如果不能通过有效措施对多个进程进行有效管理,那么必然会因为这些…

关于mac下的nvm设置淘宝镜像源

1. 进入配置文件修改镜像源 vim ~/.bash_profile增加下面内容 export NVM_NODEJS_ORG_MIRRORhttps://npmmirror.com/mirrors/node/2. 查看远程node镜像 nvm ls-remote3. 下载镜像 nvm install 14.17.64. 使用镜像 nvm use 14.17.6