Matplotlib数据可视化(一)

目录

1.Matplotlib简介

2.Matplotlib绘图基础

[2.1 创建画布与子图](#2.1 创建画布与子图)

[2.2 添加画布属性](#2.2 添加画布属性)

[2.3 绘图的保存与显示](#2.3 绘图的保存与显示)


1.Matplotlib简介

Matplotlib是一个用于绘制数据可视化图表的Python库。它提供了广泛的功能和灵活性,可以创建各种类型的图表,包括折线图、散点图、柱状图、饼图、等高线图和3D图形等。

Matplotlib的设计灵感来自于MATLAB,因此它的使用方法与MATLAB中的绘图函数相似。它被广泛应用于科学、工程、统计和数据分析等领域,成为Python中最常用的数据可视化工具之一。

Matplotlib的核心组件是一个面向对象的绘图库。可以通过创建Figure对象和一个或多个Axes对象来控制图形的外观和布局。Figure对象代表整个图形窗口或画布,而Axes对象则表示实际的绘图区域。可以使用各种方法和函数来设置图形的属性、添加图例、标签、标题,以及自定义坐标轴、颜色和线型等。

Matplotlib还支持使用Numpy和Pandas等库进行数据操作和处理,并可以与Jupyter Notebook等交互式环境无缝集成,方便快捷地进行数据可视化和分析。

2.Matplotlib绘图基础

2.1 创建画布与子图

  • plt.figure:创建一个空白画布,可以指定画布大小
  • figure.add_subplot:创建并选中子图,可以指定子图行数、列数与选中图片编号
  • fig,axes=plt.subplots(m,n):生成m行n列个子图

绘制子图

python 复制代码
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax1.plot([1.5,2,3.5,-1,1.6]) 

输出结果:

创建子图序列并调整子图周围间距:

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
fig,axes = plt.subplots(2,2,sharex = True,sharey = True)
for i in range(2):
     for j in range(2):
            axes[i,j].hist(np.random.randn(500),bins =50,color='k',alpha= 0.5)
plt.subplots_adjust(wspace=0,hspace=0)

输出结果:

2.2 添加画布属性

  • plt.title:添加图形标题
  • plt.xlabel:在当前图形中添加X轴名称
  • plt.ylabel:在当前图形中添加Y轴名称
  • plt.xlim:指定当前图形X轴范围
  • plt.ylim:指定当前图形Y轴范围
  • plt.xticks:指定X轴刻度的数目与取值
  • plt.yticks:指定Y轴刻度的数目与取值
  • plt.legend:指定当前图形的图例,可以指定图例的大小、位置、标签

示例:

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
data = np.arange(0,np.pi*2,0.01)
fig1 = plt.figure(figsize = (8,4),dpi = 90)  #确定画布大小
ax1 = fig1.add_subplot(1,2,1) #绘制第1幅子图
plt.title('lines example')
plt.xlabel('X')
plt.ylabel('Y')
plt.xlim(0,1)
plt.ylim(0,1)
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(data,data**2)
plt.plot(data,data**3)
plt.legend(['y = x^2','y = x^3'])
ax1 = fig1.add_subplot(1,2,2) #绘制第2幅子图
plt.title('sin/cos')
plt.xlabel('X')
plt.ylabel('Y')
plt.xlim(0,np.pi*2)
plt.ylim(-1,1)
plt.xticks([0,np.pi/2,np.pi,np.pi*3/2,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
plt.plot(data,np.sin(data))
plt.plot(data,np.cos(data))
plt.legend(['sin','cos'])
plt.show()

结果:

2.3 绘图的保存与显示

绘图显示和保存的函数:

  • plt.savefig:保存绘制的图片
  • plt.show:显示图形

savefig选项及其说明:

  • fname:包含文件路径或python文件型对象的字符串
  • dpi:分辨率,默认为100
  • facecolor,edgecolor:子图之外的图形背景颜色
  • format:文件格式

相关推荐
deephub7 分钟前
机器学习超参数调优:十个实用的贝叶斯优化(Bayesian Optimization)进阶技巧
人工智能·python·深度学习·机器学习·贝叶斯优化
计算机学姐13 分钟前
基于Python的智能点餐系统【2026最新】
开发语言·vue.js·后端·python·mysql·django·flask
ULTRA??13 分钟前
C++两个数组连接类似python的list相加
c++·python
7ioik17 分钟前
什么是双亲委派?
开发语言·python
集大周杰伦18 分钟前
基于 Python 的 ADS 自动化仿真框架与 API 使用指南
python·自动化·ads 自动化仿真·ads 程控·ads python
傻啦嘿哟21 分钟前
Python高效实现Excel与TXT文本文件数据转换指南
开发语言·python·excel
我送炭你添花28 分钟前
我送炭你献花:Pelco KBD300A 模拟器项目总览
python·功能测试·pyqt·运维开发
青铜弟弟30 分钟前
R语言与python升级包的问题
开发语言·python·r语言
CappuccinoRose31 分钟前
Docker配置过程完整梳理
后端·python·docker·容器·环境配置
Michelle802333 分钟前
24大数据 15-2 线性查找和选择排序
python