Python数据可视化教程_Matplotlib绘图基础

14次阅读

matplotlibpython最经典稳定的二维绘图库,适合科研教学等注重准确性的场景;支持快速绘图、面向对象结构、多种图表类型及样式导出。

Python数据可视化教程_Matplotlib绘图基础

Matplotlib 是 Python 最经典、最成熟的二维绘图库,掌握它相当于拿到了数据可视化的“基本通行证”。它不追求炫酷动效,但胜在稳定、可控、可定制性强,特别适合科研、报表、教学等注重准确性和复现性的场景。

一、快速上手:画出第一个折线图

安装后只需几行代码就能出图:

  • plt.plot(x, y) 绘制基础折线(x、y 是等长列表或数组)
  • plt.xlabel()plt.ylabel()plt.title() 添加标签和标题
  • 调用 plt.show() 弹出图形窗口(脚本中必须加,jupyter 中可省略)

示例:

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.title(“我的第一张图”)
plt.show()

二、图形结构:理解 figure、axes 和 subplot

Matplotlib 的核心是面向对象(OO)接口,推荐显式创建 figure(画布)和 axes(坐标系),避免依赖全局状态:

立即学习Python免费学习笔记(深入)”;

  • plt.figure() 创建新画布,可指定大小:fig = plt.figure(figsize=(8, 5))
  • fig.add_subplot(111) 或更推荐的 fig.subplots() 获取 axes 对象
  • 所有绘图操作都通过 ax.plot()ax.set_title() 等方法进行,清晰可控

多子图时,fig, axs = plt.subplots(2, 2) 会返回 2×2 的 axes 数组,直接用 axs[0, 1].scatter(...) 指定位置绘图。

三、常用图表类型与关键参数

不同图表只需换函数名,但注意关键参数让图更专业:

  • 散点图:用 ax.scatter(x, y, s=20, c='red', alpha=0.7)s 控制点大小,c 设颜色,alpha 调透明度防重叠
  • 柱状图:用 ax.bar(labels, values);横向用 barh;多组并列可传入 width 和调整 x 坐标实现分组
  • 直方图:用 ax.hist(data, bins=30, density=False)bins 控制分组数,density=True 可归一化为概率密度
  • 图例/网格/刻度ax.legend()ax.grid(True)ax.set_xticks([0, 1, 2]) 等按需添加

四、样式与导出:让图拿得出手

默认样式偏朴素,两步提升视觉效果:

  • 换风格:运行 plt.style.use('seaborn-v0_8')'ggplot' 等内置样式,立即美化整体配色与边框
  • 导出高清图:用 fig.savefig("myplot.png", dpi=300, bbox_inches='tight')dpi 控制分辨率,bbox_inches='tight' 自动裁掉空白边距
  • 中文显示问题?在绘图前加:plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS'] 并设置 plt.rcParams['axes.unicode_minus'] = False
text=ZqhQzanResources