Matplotlib的应用

目录

    • 前言:图表类型选择指南
    • 一、导入库
    • 二、对plt进行配置
      • [2.1 让图表正常显示中文](#2.1 让图表正常显示中文)
      • [2.2 使得绘制的图都为矢量图(全局有效)](#2.2 使得绘制的图都为矢量图(全局有效))
    • 三、常见图的绘制
        • [3.1 折线图](#3.1 折线图)
          • [3.1.1 图中一个坐标系](#3.1.1 图中一个坐标系)
          • [3.1.2 图中两个坐标系](#3.1.2 图中两个坐标系)
      • [3.2 散点图](#3.2 散点图)
      • [3.3 柱状图](#3.3 柱状图)
      • [3.4 其余图](#3.4 其余图)

前言:图表类型选择指南

一、导入库

python 复制代码
import matplotlib.pyplot as plt

二、对plt进行配置

2.1 让图表正常显示中文

python 复制代码
plt.rcParams['font.sans-serif'].insert(0, 'SimHei')
plt.rcParams['axes.unicode_minus'] = False

2.2 使得绘制的图都为矢量图(全局有效)

绘图时生成矢量图(SVG/PDF),矢量图放大后还是清晰的。矢量图跟图片的dpi无关,dpi=60和dpi=300的矢量图是一个清晰度。

python 复制代码
%config InlineBackend.figure.format='svg'

三、常见图的绘制

3.1 折线图
3.1.1 图中一个坐标系
python 复制代码
x = np.linspace(-2 * np.pi, 2 * np.pi, 120) # 从-2pai到2pai生成等间距的120个点
y1, y2 = np.sin(x), np.cos(x) # 得到这120个点对应的sin值和cos值
# 创建画布,figsize参数指定画布的尺寸,dpi设置图片的分辨率
plt.figure(figsize=(8, 4), dpi=120)
# 绘制折线图,用plot函数
plt.plot(x, y1, linewidth=2, marker='*', color='red') # linewidth参数代表线条的粗细,值越大线越粗
plt.plot(x, y2, linewidth=2, marker='^', color='blue')
# 显示绘图
plt.show()
3.1.2 图中两个坐标系
python 复制代码
# 如果要使用两个坐标系分别绘制正弦和余弦,使用subplot函数
plt.figure(figsize=(8, 4), dpi=120)
# 创建第一个坐标系
plt.subplot(2, 1, 1) # 将画布分成2行1列,index=1这是第一个子图
# 绘制第一个图
plt.plot(x, y1, linewidth=2, marker='*', color='red')
# 创建第二个坐标系
plt.subplot(2, 1, 2) # index=2这是第二个子图
# 绘制第二个图
plt.plot(x, y2, linewidth=2, marker='^', color='blue')
# 显示绘图
plt.show()

3.2 散点图

python 复制代码
# 散点图---了解两个变量的关系(了解三个变量的关系就用气泡图)
x = np.array([5550, 7500, 10500, 15000, 20000, 25000, 30000, 40000])
y = np.array([800, 1800, 1250, 2000, 1800, 2100, 2500, 3500])

plt.figure(figsize=(6, 4), dpi=120)
# 绘制散点图用scatter函数
plt.scatter(x, y)
plt.show()

3.3 柱状图

python 复制代码
x = np.arange(4)
y1 = np.random.randint(20, 50, 4)
y2 = np.random.randint(10, 60, 4)

plt.figure(figsize=(6, 4), dpi=120)
# 调用bar函数绘制柱状图
# x-0.1和x+0.1是为了让两个柱子错开,第一个柱子从0.9画到1.1,第二个柱子从1.1画到1.3
# label参数为柱子设置标签
plt.bar(x - 0.1, y1, width=0.2, label='销售A组') 
plt.bar(x + 0.1, y2, width=0.2, label='销售B组')
# 设置横轴的刻度
plt.xticks(x, labels=['Q1', 'Q2', 'Q3', 'Q4'])
# 设置图例
plt.legend()
plt.show()

# 保存图表
# 如果希望既显示图表又要保存图表,应该先保存再显示
plt.savefig('chart.png')
plt.show() # 每次show后都会清空当前图像

3.4 其余图

可参考链接:

  1. https://github.com/jackfrued/Python-100-Days/blob/master/Day66-80/78.数据可视化-1.md
  2. https://github.com/jackfrued/Python-100-Days/blob/master/Day66-80/79.数据可视化-2.md
相关推荐
weixin_465790911 天前
热电联产系统智能经济调度:深度强化学习的奇妙应用
matplotlib
我不爱机器学习2 天前
matplotlib如何保存单独的colorbar
matplotlib
爱喝可乐的老王5 天前
数据分析实践--数据解析购房关键
信息可视化·数据分析·pandas·matplotlib
海棠AI实验室6 天前
第 十五 章 可视化入门:Matplotlib 做出像样的图
matplotlib
渡我白衣11 天前
计算机组成原理(11):加法器
python·机器学习·numpy·pandas·matplotlib·计组·数电
老歌老听老掉牙12 天前
使用 Matplotlib 自定义坐标轴字体及刻度样式详解
python·matplotlib
AC赳赳老秦13 天前
DeepSeek教育科技应用:智能生成个性化学习规划与知识点拆解教程
前端·网络·数据库·人工智能·学习·matplotlib·deepseek
AC赳赳老秦15 天前
行业数据 benchmark 对比:DeepSeek上传数据生成竞品差距分析报告
开发语言·网络·人工智能·python·matplotlib·涛思数据·deepseek
2401_8414956416 天前
【Python高级编程】图着色动态可视化 APP
python·算法·matplotlib·tkinter·回溯法·图着色算法·动态可视化工具
laocooon52385788616 天前
对传入的 x , y 两个数组做折线图, x 对应 x 轴, y 对应 y 轴。并保存到 Task1/image1/T2.png
python·numpy·pandas·matplotlib