Python matplotlib快速绘制图表

使用 python3 matplotlib 绘制图表【基础篇】

效果图如下

Python matplotlib快速绘制图表

注意, markdown 在 linux 系统中, 图片位置要和 .md 文件在同一个文件夹下面, 图片保存在其他路径下面, 无论是用 / 根目录的绝对路径, 还是用 …/ 相对路径的方式, 在预览中都无法渲染图片。

; 第 1 步 包导入

import matplotlib.pyplot as plt

第 2 步 创建 fig 和 ax

width=4
height=width*0.618
fig, ax = plt.subplots(figsize=(width, height))

figsize() 表示设置宽度和高度, 一张图的情况下 比例 height/width = 0.618 正好。

fig 表示整张图, ax 表示一个 XY 坐标, 使用以下代码可以在一个 fig 中创建多个 ax(多个XY坐标)

fig, (ax0,ax1,ax2) = plt.subplots(3,1,figsize=(4, 4.5),sharex=True)

第 3 步 准备数据

datas = {
    'A': [[1, 2., 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
                [
                    0., 0.5, 0.75, 0.86, 0.87, 0.88,
                    0.86, 0.86, 0.87, 0.86,
                    0.88, 0.87, 0.88
                ]],
    'B': [[1, 2., 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
                [
                    0., 0.3, 0.6, 0.65, 0.66, 0.64,
                    0.65, 0.65, 0.64, 0.66,
                    0.65, 0.66, 0.65
                ]],
    'C': [[1, 2., 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
            [
                0., 0.2, 0.43, 0.46, 0.47,
                0.47, 0.46, 0.46, 0.48, 0.47,
                0.46, 0.47, 0.47
            ]],
}

这里在一张图中同时画 3 条线, 3 条线的横坐标一致

第 4 步 设计线条的 color, linesyles, marker, 以及 markersize 等属性

styles = {
    'A': ['8', 'g', (0, (5, 1))],
    'B': ['s', 'orange', (0, (2, 1))],
    'C': ['v', 'r', (0, (4, 1, 1, 1, 1, 1))]
}

ax.plot() 绘制线条

for _, line_id in enumerate(datas):
    data = datas[line_id]
    x = data[0]
    y = data[-1]
    x = np.array(x, dtype=np.int)
    ax.plot(x,
            y,
            marker=styles[line_id][0],
            color=styles[line_id][1],
            linestyle=styles[line_id][2],
            label=line_id)

设置坐标标签, 网格, 图例等等

font1 = {
    'weight': 'medium',
    'size': 12,
}

ax.set_ylabel('YYY', font1)
ax.set_xlabel('XXX', font1)

ax.set_title('title  = ZZZ', fontsize=11)

ax.grid()
ax.legend()
plt.tight_layout()

第 5 步 保存并退出

fig.savefig('result.png')
plt.close()

Original: https://blog.csdn.net/qq_42303573/article/details/123646645
Author: RYW2022
Title: Python matplotlib快速绘制图表

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/764980/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球