Matplotlib入门

文章介绍了Python的Matplotlib库用于数据可视化的基础用法,包括创建figure和axes对象,绘制2D的折线图、柱状图,设置图例、网格线,以及调整显示范围。此外,还展示了如何在同一个figure中画多个图和如何绘制3D图形。
摘要由CSDN通过智能技术生成

Matplotlib快速入门

起源

  1. 早期:提供类似于MATLAB的画图效果/画图语法

  2. 后期:为很多python包提供很多的底层工具/画图逻辑

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mctRJaLo-1689218311967)(C:\Users\Sunset\AppData\Roaming\Typora\typora-user-images\image-20230713100655906.png)]

入门

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
matplotlib.rc("font", family='Microsoft YaHei')

data_list = [1, 2, 3, 4]
stock1 = [4, 8, 2, 6]
stock2 = [10, 12, 5, 3]
# 设置折线图格式
plt.plot(data_list, stock1, "ro--", label='股票价格:abc')
plt.plot(data_list, stock2, "b^--", label='股票价格:def')
# 设置标题
plt.title("折线图")
plt.xlabel("时间")
plt.ylabel("股价")
# 添加图例
plt.legend()
# 设置x/y轴坐标刻度
plt.xticks([1, 2, 3, 4])
plt.yticks(np.arange(2, 13, 1))
# 添加辅助网格线
plt.grid()
# 调整显示范围(类似于突出显示某一个部分)
plt.xlim(2.5, 4.5)
plt.ylim(1.5, 6.5)
plt.show()

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5A0npZW-1689218311968)(C:\Users\Sunset\AppData\Roaming\Typora\typora-user-images\image-20230713102806980.png)]

在这里插入图片描述

单个图像的构成

在这里插入图片描述

在这里插入图片描述

eg:一个figure中画多个图:

  1. matlab语法
import matplotlib
import matplotlib.pyplot as plt
import numpy as np

data_list = [1, 2, 3, 4]
stock1 = [4, 8, 2, 6]
stock2 = [10, 12, 5, 3]
# 创建一个figure画面figsize = (9,3)==> 横9英寸,竖 3英寸
plt.figure(figsize=(9, 3))
# 两行一列,画第一个图
plt.subplot(211)
plt.bar(data_list, stock1)
# 两行一列,画第二个图
plt.subplot(212)
plt.plot(data_list, stock2, "ro-")
plt.show()

在这里插入图片描述

  1. 面向对象OOP语法,准确写法

    import matplotlib
    import matplotlib.pyplot as plt
    import numpy as np
    
    data_list = [1, 2, 3, 4]
    stock1 = [4, 8, 2, 6]
    stock2 = [10, 12, 5, 3]
    # 面向对象oop精确语法
    # 每个axes都是一个对象
    # figure控制x/y轴数值相等,背景为灰色
    fig, axes = plt.subplots(2, 1, figsize=(6, 6),
                             facecolor='grey',
                             sharex=True, sharey=True)
    axes[0].bar(data_list, stock1)
    axes[1].plot(data_list, stock2, 'b^-')
    plt.show()
    

    在这里插入图片描述

eg2:画多个图

import matplotlib.pyplot as plt
import matplotlib
import numpy as np
matplotlib.rc("font", family='Microsoft YaHei')


data_list = [1, 2, 3, 4]
# stock1 = [4, 8, 2, 6]
# stock2 = [10, 12, 5, 3]
stock1 = np.array([4, 8, 2, 6])
stock2 = np.array([10, 12, 5, 3])
# 面向对象oop精确语法
# 每个axes都是一个对象
fig, axes = plt.subplots(2, 2, figsize=(6, 6))
axes[0, 0].bar(data_list, stock1)
axes[0, 1].plot(data_list, stock2, 'b^-')
ax = axes[1, 0]
ax.scatter(data_list, stock2,
           s=[10, 20, 50, 100],# 大小
           c=['r', 'b', 'c', 'y']
           )
axes[0, 0].set_title("股票1")
axes[0, 1].set_title("股票2")
ax.set_ylabel("差价(股票2-股票1)")
# 清除最后一个空白
axes[1, 1].remove()
# figure对象添加整体大标题/注释
fig.suptitle("股价分析图")
fig.supylabel("股价")
fig.supxlabel("季度")
plt.show()

在这里插入图片描述

3d图:

在这里插入图片描述

在这里插入图片描述

自学

Matplotlib

参考视频:文章参考视频https://www.bilibili.com/video/BV1Pe4y1R79d/?spm_id_from=333.788

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值