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

相关推荐
路来了14 分钟前
Python小工具之PDF合并
开发语言·windows·python
蓝婷儿24 分钟前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
AntBlack1 小时前
拖了五个月 ,不当韭菜体验版算是正式发布了
前端·后端·python
.30-06Springfield1 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦1 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
WJ.Polar1 小时前
Python数据容器-list和tuple
开发语言·python
qq_229644111 小时前
LucidShape 2024.09 最新
python
花好月圆春祺夏安3 小时前
基于odoo17的设计模式详解---装饰模式
数据库·python·设计模式
萧鼎4 小时前
深度探索 Py2neo:用 Python 玩转图数据库 Neo4j
数据库·python·neo4j
华子w9089258594 小时前
基于 Python Django 和 Spark 的电力能耗数据分析系统设计与实现7000字论文实现
python·spark·django