matplotlib基础---pyplot的使用(1)

一. 基本概念(组成)

  1. matplotlib组成: 由栈组成, 分为三层: Scripting(脚本), Artist(美工),Backend(后台).
  2. 在整个matplotlib中, 图形中所能看到的元素都属于Artist对象, 即标题, 轴标签, 刻度等组成的所有元素都是Artist对象的实例.
    (1) 如果把Artist比做画画的话, Figure相当于画板, Axes(座标系)相当于画画的白纸, Axis(座标系)相当于白纸上画的座标系
    所以, 可以说一个画布(figure)可以有多个Axes(座标系), 一个座标系可以有多个Axis(座标轴), 包含两个即为2D座标系, 包含三个即为3D座标系.
    (2) Subplot实际上是axes的特例(子集) , 就是一个画布上多画几个Axes(座标系),再缩小到特定位置,就是Subplot了. 相当于MATLAB中的一个图中有好几个座标系
    在这里插入图片描述

二. 入门应用

1. 绘制直线

import matplotlib.pyplot as plt
# 当plot中参数只有一个列表时, 列表中数字代表纵座标, 横座标从0开始
plt.plot([4, 6, 3, 6, 8, 7])
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
# 当plot中参数有两组列表时, 第一组代表横座标, 第二组代表纵座标
plt.plot([0, 1, 2, 3, 4, 5, ], [1, 2, 3, 4, 5, 6])
plt.show()

在这里插入图片描述

2. 简单应用: 绘制温度变化折线图

import matplotlib.pyplot as plt
import random

# 生成fig画布在上面画图. figsize为设置图片尺寸, dpi为设置图片透明度, 数字越大透明度越高
plt.figure(figsize=(20, 8), dpi=80)

# 编码中文显示问题, 输入这两行代码可以让图中的中文正常显示
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

# 准备x, y座标的数据
x = range(60)  # 横座标
# 上海天气纵座标
y_shanghai = [random.uniform(15, 18) for i in x]
# 北京天气纵座标
y_beijing = [random.uniform(3, 5) for i in x]
# 横座标时间数据
x_ch = ["11点{}分".format(i) for i in x]
# 纵座标数据
y_ticks = range(40)

# 上海折线图绘制
plt.plot(x, y_shanghai, label='上海')
# 北京折线图绘制(x为x轴, y_beijing为y轴, color为线条颜色, linestyle为线条样式, label为绑定标签'北京')
plt.plot(x, y_beijing, color='r', linestyle='--', label='北京')

# 显示刻度, 间隔(步长)
plt.xticks(x[::5], x_ch[::5])  # 横座标步长间隔5
plt.yticks(y_ticks[::5])  # 横座标步长间隔5

# 曲线图的各种属性
plt.xlabel("时间")  # 横座标属性
plt.ylabel("温度")  # 纵座标属性
plt.title("一些城市的温度变化曲线图")  # 座标轴标题

# 图中加入注释(图片右上角标志)
plt.legend(loc="best")

# 保存图片(我的图片位置为: C:\Users\admin)
plt.savefig("matplotlib.png")

# 显示
plt.show()

运行结果如下图 :
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章