【Python 笔记】使用Matplotlib绘制图像

编译平台:PyCharm
使用语言:Python
版本:2020.1


前言

  Python绘图需要依赖于第三方库提供的方法,本文重点以Matplotlib库实现绘图。

一、准备工作

1.1 导入pyplot

import matplotlib.pyplot as plt
  • 通常使用as对引用包名简写

1.2 准备数据

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
y = [3145, 222, 2342, 9002, 2031, 3213, 4535, 4332, 2134, 2000, 1672, 1213]
  • 数据可以使自己给定或通过数据清洗得到的
  • 使用绘制图前,需注意绘图的数据类型要求

二、修饰代码

描述:修饰图像信息,如补充数据说明等


2.1 绘图大小(优先级)

plt.figure(figsize=(8,4))  # 创建绘图对象并指定长宽(优先级)
  • figure()函数优先于所有绘制函数

2.2 颜色字符

应用于 参数format_string

颜色字符 说明 颜色字符 说明
‘b’ 蓝色 ‘m’ 洋红色
‘g’ 绿色 ‘y’ 黄色
‘r’ 红色 ‘k’ 黑色
‘c’ 青绿色 ‘w’ 白色
‘#008000’ RGB某颜色 ‘0.8’ 灰度值字符串

2.3 标记字符

应用于 参数format_string

标记字符 说明 标记字符 说明 标记字符 说明
‘.’ 点标记 ‘1’ 下花三角标记 ‘h’ 竖六边形标记
‘,’ 像素标记 ‘2’ 上花三角标记 ‘H’ 横六边形标记
‘o’ 实心圈标记 ‘3’ 左花三角标记 ‘+’ 十字标记
‘v’ 倒三角标记 ‘4’ 右花三角标记 ‘x’ x标记
‘^’ 上三角标记 ‘s’ 实心方形标记 ‘D’ 菱形标记
‘>’ 右三角标记 ‘p’ 实心五角标记 ‘d’ 瘦菱形标记
‘<’ 左三角标记 ‘*’ 星型标记

2.4 线条风格

应用于 参数format_string

标记字符 说明 标记字符 说明
‘-’ 实线 ‘:’ 虚线
‘–’ 破折线 " " 无线条
‘-.’ 点画线

2.5 字体设置

2.5.1 通过 matplotlib的rcPrams修改设置

plt.rcParams['font.sans-serif'] = 'SimHei'

rcParams常用属性:

属性 说明
‘font. family’ 设置字体格式
‘font. style’ 设置字体风格(normal正常 或 italic斜体)
‘font. size’ 设置字体大小,整数字号、‘larget’、‘x-small’

中文字体格式

中文字体 说明 中文字体 说明
‘SimHei’ 中文黑体 ‘FangSong’ 中文仿宋
‘KaiTi’ 中文楷体’ YouYuan’ 中文幼圆
‘LiSu’ 中文隶书 ‘STSong’ 华文宋体

2.5.2 在中文输出点,增加fontproperties属性

plt.xlabel('x轴', fontproperties='KaiTi', fontsize=10)  # 绘制x轴名称
plt.ylabel('y轴', fontproperties='FangSong', fontsize=12)  # 绘制y轴名称

2.6 坐标轴

2.6.1 命名

plt.xlabel('x-axis')  # 绘制x轴名称
plt.ylabel('y-axis')  # 绘制y轴名称
  • 这里是分别对x轴命名 x-axis;y轴命名 y-axis

2.6.2 限制取值范围

plt.axis([xMin, xMax, yMin, yMax])
  • xMin:x轴最小初始值
  • xMax:x轴最大结尾值
  • yMin:y轴最小初始值
  • yMax:y轴最大结尾值

或选择使用plot.xlim(xMin, xMax)plot.ylim(yMin, yMax)分别对x、y坐标轴进行调整

2.7 图像标题

这里命名图像标题为 表-XXX

plt.title("表-XXX")    # 绘制线形图标题内容

2.8 图形箭头注解

plt.annotate(text, fontsize=10, xy=(2.25, 1), xytext=(3, 15))
  • text:注解内容
  • fontsize:字体大小
  • xy:图像点坐标
  • ‘xytext’:注释内容坐标

2.9 自定义 文本内容 与 显示位置

plt.text(x, y, str)
  • x:屏幕横坐标
  • y:屏幕纵坐标
  • str:文本内容

2.10 图像存储

plt.save('.../tmp/picture.png')
  • 需落款图片格式
  • plt.show()过程后,保存的图像为所要

2.11 显示图像 (最后级)

任何对图像绘制操作需在此之前进行才生效。

plt.show()

三、绘制图像 - 核心代码

3.1 线形图

plt.plot(x, y, 'ko--')  # 进行绘图,其中k颜色字符 o标记字符 --风格字符

plt.plot(x, y, format_string, **kwargs)语法参数说明:

  • x:x轴数据(数据类型:列表 数组)
  • y:y轴数据(数据类型:列表 数组)
  • format_string:控制曲线格式字符串(由颜色字符、标记字符、风格字符组成)

3.2 条形图

垂直

plt.bar(x, height, width, bottom, ***, align, data, **kwargs)
  • x:x坐标,数据类型为 int、float
  • height:条形的高度,数据类型为 int、float
  • width:宽度 0~1,默认0.8
  • botton:条形的起始位置
  • align: 条形的显示位置
  • color: 条形的颜色
  • edgecolor:条形边框的颜色
  • linewidth:边框的宽度
  • tick_label:下标的标签
  • log:y轴是否使用科学计数法表示
  • orientation: 是竖直条还是水平条 竖直:“vertical”,水平条:“horizontal”
    与下面相同

注意:上述内容为属性,使用时遵从如x=1/align='Center'/log=true等指明修改的参数内容,默认顺序下可不用直接指明。


水平

plt.barh()

3.3 饼图/扇形图

plt.pie()
  • x:数据集,数据类型为 list
  • labels:标签 list
  • autopct:数据标签
  • explode:突出显示
  • shadow :是否显示阴影
  • pctdistance:标签与圆心距离大小
  • labeldistance:标签距离
  • startangle:绘制饼图的圆心角
    饼图 = 360°。 扇形图则不是。
  • radius:饼图半径长度

3.4 直方图

plt.hist()

3.5 散点图

plt.scatter()

你可能感兴趣的:(Python,经典案例)