10分钟带你从零上手matplotlib数据可视化

一、简介

matplotlib库是专门用来开发2D图表(3D也可以画),运用非常广泛,因为它具有以下优点:

  • 使用简单
  • 以渐进式、交互式方式实现数据可视化
  • 表达式和文本使用LaTeX排版
  • 对图像元素控制力强
  • 可输出PNG/PDF/SVG和EPS等多种格式

本文旨在让没有用过matplotlib的朋友通过一篇文章能够上手matplotlib,因此力求用词简单,结构清晰,只介绍最基本常用的功能,更多功能根据实际需求再搜索。

参考书籍:

Python数据分析实战( by Fabio Nelli)
Python数据分析(by Armando Fandango)
利用Python进行数据分析(by Wes McKinney )

二、绘图步骤

1.先画个简单的图吧

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
plt.plot(x, y, 'ro')
plt.show()

在这里插入图片描述

  • 实参x传入横坐标值,实参y传入纵坐标值,第三个参数缺少时默认为线形图。
  • ‘r’表示红色,‘o’表示用圆圈表示每个值,如果需要红色的线形图时,可以传入’r’。
  • 颜色编码还有:b=蓝色,g=绿色,r=红色,y=黄色,k=黑色,w=白色,c=蓝绿色,m=洋红
  • 形状编码还有:'^', '*', 'o',‘--’,‘-.’

2.添加图象的基本元素

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
plt.plot(x, y, 'ro')

#定义x轴范围,y轴范围
plt.axis([0, 5, 0, 20])
#为图表增加标题,并定义字体样式
plt.title('My first plot', fontsize=20, fontname='Times New Roman')
#增加x轴和y轴标签,并将字体颜色设为灰色
plt.xlabel('Counting', color='gray')
plt.ylabel('Square values', color='gray')

#增加网格线背景
plt.grid(True)
#增加图例,图例位置可用loc参数设定
plt.legend(['Fiest series'])
plt.show()

在这里插入图片描述

3.绘图进阶功能

1)在图中任意位置插入文本

plt.text(1, 1.5, 'First') 
plt.text(1.1, 12, r'$y = x^2$', fontsize=20, bbox={'facecolor':'yellow', 'alpha':0.2})

在这里插入图片描述

2)将多张图象绘制在一张图片中

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1)
y1 = np.sin(np.pi*x)
y2 = np.sin(2*np.pi*x)

plt.subplot(2, 1, 1)	 #与plt.sublot(211)等效
plt.plot(x, y1, 'b-.')

plt.subplot(2, 1, 2)
plt.plot(x, y2, 'r--')

plt.show()

在这里插入图片描述

  • plt.subplot()传入三个整数参数,第一个数字决定图形沿垂直方向分为几部分,第二个数字决定图形沿水平方向分成几部分,第三个数字设定接下来的命令所控制的图片
  • 注意要在所有子图片都绘制完再plt.show()
  • 改变sublot()函数中的参数可以把图形分成左右两个,上下左右四个等

4)增加多个图例

import matplotlib.pyplot as plt

plt.plot([1,2,3,4], [2,4,6,8], 'g^')
plt.plot([1,2,3,4], [3,6,9,12], 'b*')
plt.legend(['first series', 'second series'], loc=2)
plt.show()

在这里插入图片描述

  • plt.legend()传入的列表中元素必须会自动匹配调用plot()函数的顺序
  • loc参数可以控制图例位置,取值范围为0-10,每个数字代表图表中一处位置,默认为1。如0=最佳位置,1=右上角,2=左上角,3=左下角,4=右下角,8=上方水平居中

3)将图表保存为图片

plt.savefig('my_chart.png')
  • 保存路径为当前.py文件所在目录

三、更多图形实例

可以参考一下这篇博客
https://blog.csdn.net/qq_34337272/article/details/79555544

猜你喜欢

转载自blog.csdn.net/weixin_43756456/article/details/86030776