当前位置: 首页 > news >正文

Matplotlib的应用

目录

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

前言:图表类型选择指南

在这里插入图片描述

一、导入库

import matplotlib.pyplot as plt

二、对plt进行配置

2.1 让图表正常显示中文

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

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

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

%config InlineBackend.figure.format='svg'

三、常见图的绘制

3.1 折线图
3.1.1 图中一个坐标系
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 图中两个坐标系
# 如果要使用两个坐标系分别绘制正弦和余弦,使用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 散点图

# 散点图---了解两个变量的关系(了解三个变量的关系就用气泡图)
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 柱状图

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.%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96-1.md
  2. https://github.com/jackfrued/Python-100-Days/blob/master/Day66-80/79.%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96-2.md

相关文章:

  • Matlab FCM模糊聚类
  • SmolVLM2: The Smollest Video Model Ever(五)
  • 2020 年 7 月大学英语四级考试真题(组合卷)——解析版
  • String +memset字符串类题型【C++】
  • c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第六式】文件操作
  • 聚宽策略----国九条后中小板微盘小改,年化135.40%
  • HttpClient
  • Vue3集成Element Plus完整指南:从安装到主题定制上
  • 【深度学习入门_NLP自然语言处理】序章
  • C++初阶-类和对象(中)
  • Scratch——第18课 列表接龙问题
  • deep-share开源浏览器扩展,用于分享 DeepSeek 对话,使用户能够将对话内容保存为图片或文本以便轻松分享
  • 2025第十六届蓝桥杯python B组满分题解(详细)
  • chmod,chown命令
  • 【Linux】vim配置----超详细
  • CTGAN 合成数据生成与验证脚本学习笔记
  • 从巅峰到谷底:搜狐的27年沉浮启示录
  • 清醒思考的艺术
  • 算法导论思考题
  • (二)mac中Grafana监控Linux上的MySQL(Mysqld_exporter)
  • 跨市调任:李强已任河北唐山市检察院党组书记
  • 老旧高层遭“连环漏水”,如何携手共治解难题?
  • 特朗普:乌克兰问题谈判短期内若无进展美将不再斡旋
  • 两日内连续施压,特朗普再次喊话美联储降息
  • 金融监管总局:建立保险销售人员违法违规导致经济损失的佣金薪酬追索扣回机制
  • 王健林出售酒店管理业务的资金如获批,可用于向全体股东分红