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
相关推荐
Gyoku Mint1 天前
机器学习×第二卷:概念下篇——她不再只是模仿,而是开始决定怎么靠近你
人工智能·python·算法·机器学习·pandas·ai编程·matplotlib
搏博2 天前
将图形可视化工具的 Python 脚本打包为 Windows 应用程序
开发语言·windows·python·matplotlib·数据可视化
Code_流苏6 天前
Python趣学篇:交互式词云生成器(jieba + Tkinter + WordCloud等)
python·pillow·matplotlib·tkinter·wordcloud·jieba分词·词云生成器
AndrewHZ7 天前
【图像处理入门】2. Python中OpenCV与Matplotlib的图像操作指南
图像处理·python·opencv·计算机视觉·matplotlib·图像操作
无闻墨客9 天前
数据可视化--使用matplotlib绘制高级图表
python·机器学习·信息可视化·matplotlib·可视化·数据可视化
Echo-J9 天前
数据可视化(第4、5、6次课)
python·信息可视化·matplotlib·数据可视化
ayas1231912 天前
numpy与matplotlib学习——数据可视化入门
学习·numpy·matplotlib
zhangfeng113312 天前
Python 和 matplotlib 保存图像时,确保图像的分辨率和像素符合特定要求(如 64x64),批量保存 不溢出内存
开发语言·python·matplotlib
李昊哲小课15 天前
matplotlib基本绘图
人工智能·数据分析·matplotlib·数据可视化·pyecharts·seaborn
云攀登者-望正茂15 天前
如何在Mac 上使用Python Matplotlib
python·macos·matplotlib