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:文件格式

相关推荐
谅望者6 分钟前
数据分析笔记07:Python编程语言介绍
大数据·数据库·笔记·python·数据挖掘·数据分析
Geo_V30 分钟前
LangChain Memory 使用示例
人工智能·python·chatgpt·langchain·openai·大模型应用·llm 开发
小呀小萝卜儿1 小时前
2025-11-15 学习记录--Python-LSTM模型定义(PyTorch)
python·学习·lstm
百锦再1 小时前
第15章 并发编程
android·java·开发语言·python·rust·django·go
谅望者2 小时前
数据分析笔记03:概率分布理论
笔记·数据分析·概率论
laufing2 小时前
pyinstaller 介绍
python·构建打包
FIT2CLOUD飞致云2 小时前
支持CAS身份认证,支持接入Oracle11数据源,SQLBot开源智能问数系统v1.3.0版本发布
ai·数据分析·开源·智能问数·sqlbot
谅望者2 小时前
数据分析笔记09:Python条件语循环
笔记·python·数据分析
Auspemak-Derafru2 小时前
从U盘损坏中恢复视频文件并修复修改日期的完整解决方案
python
techzhi3 小时前
Intellij idea 注释模版
java·python·intellij-idea