1.NumPy Matplotlib
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
1.1 下载所需要的包
pip3 install matplotlib
1.2 pyplot介绍
Matplotlib 软件包中子包,提供了一个类似MATLAB的绘图框架。支持 Python 语言。
2.画图
2.1 一般包含什么内容
2.2 语法(没啥用)
2.3 画图流程解释
整个流程相当于一步一步的添加东西,比如先添加画布、然后是坐标轴、然后是表示数据的图、然后是题目、然后是其他等等,因此保存图像的语句要在所有东西都添加好后,然后最后都添加完毕也保存了,再show
2.4 以折线图为例讲解 流程、基本语法(看这个就够了)
# 1.首先导包
from matplotlib import pyplot
# 2. 准备数据:坐标轴的刻度数据以及构成图的数据
# 2.1 首先准备坐标轴的刻度数据
labelX=[1,2,3,4,5]
labelY=[1,2,3,4,5]
# 2.2 再准备构成图的数据
# 第一个折线图的数据
x1=[1,2,3]
y1=[1,2,3]
# 第二个折线图的数据
x2=[1,1.5,4]
y2=[1,2,3]
# 3.然后准备画布,决定图的宽、高、清晰度(20是宽,8是高,dpi是清晰度)
pyplot.figure(figsize=(20,8),dpi=80)
# 4.将构成图的数据绑定到图上,先是横坐标,然后是纵坐标,label是标记,标价显示还需要legend()
# 画第一个折线图
pyplot.plot(x1, y1,label="第一个折线图")
# 画第二个折线图,自动改变颜色!当然也可以指定两个折线图分别为什么颜色
pyplot.plot(x2, y2,label="第二个折线图")
# 显示线的标记
# Python matplotlib画图时图例说明(legend)放到图像外侧详解:https://www.jb51.net/article/186659.htm
pyplot.legend()
# 5.将坐标轴刻度绑定上去,然后再标记x、y分别代表了什么;刻度和标记都为Times New Roman,且字体大小为16
# 5.1 绑定刻度,刻度数据可以通过一一对应显示字符串
pyplot.xticks(labelX, size = 16, weight=1000)
pyplot.yticks(labelY, size = 16)
# 5.2 标记x、y代表什么
pyplot.xlabel("代表x轴",fontdict={
'weight' : 1000,'size' : 16})
pyplot.ylabel("代表y轴",fontdict={
'weight' : 'normal','size' : 16})
# 6.整个图的标题
pyplot.title("图的标题")
# 7.背景换成网格,以及添加水印
# 7.1 网格:ls=":"-->网格样式(虚线),color="gray"-->网格颜色,alpha=0.5-->网格透明度
pyplot.grid(ls=":",color="gray",alpha=0.5)
# 7.2 添加水印
pyplot.text(x=1, # 水印开头左下角对应的X点
y=2, # 水印开头左下角对应的Y点
s="Matplotlib", # 水印文本
fontsize=50, # 水印大小
color="gray", # 水印颜色
alpha=0.5) # 水印是通过透明度控制的
# 8.保存图
pyplot.savefig("./save.png")
# 9.显示图
pyplot.show()
结果:
3. 各图示例
3.1折线图 .plot()
3.1.1 设置x、y轴坐标为字符串+坐标轴添加名字+图的名字
from matplotlib import pyplot
import random
# 刻画一个10点到12点每一分钟温度20到35变化的折线图
x = range(0, 120)
y = [random.randint(20, 35) for i in range(