python使用matplotlib绘图详解(自动标记、将多条线绘制在一个图中,绘制多张图)

python使用matplotlib绘图详解(自动标记、将多条线绘制在一个图中,绘制多张图)python

plt.plot(x,y,markes,label),label表示图例,x为横坐标,y为纵坐标,markes为标记web

  • 使用for循环将多条线段绘制在一个图中数组

    import numpy as np
    import matplotlib.pyplot as plt
    num = np.arange(40).reshape(10,4)#生成10行4列的数组
    plt.rcParams['font.sans-serif'] = ['SimHei']#能够plt绘图过程当中中文没法显示的问题
    plt_label = 0
    for link in range(len(num)):
        plt_label += 1
        plt.plot(num[0],num[link],label = '第'+ str(plt_label) + '条线段')
    plt.legend()#显示图例,若是注释改行,即便设置了图例仍然不显示
    plt.show()#显示图片,若是注释改行,即便设置了图片仍然不显示

结果:
在这里插入图片描述svg

  • 为了更好的区分直线,可能须要对数据点进行标记,标记能够使用markes
import numpy as np
import matplotlib.pyplot as plt
num = np.arange(40).reshape(10,4)#生成10行4列的数组
plt.rcParams['font.sans-serif'] = ['SimHei']#能够解释中文没法显示的问题
plt_label = 0
for link in range(len(num)):
    plt_label += 1
    markes = ['-o', '-s', '-^', '-p', '-^', '-v', '-p', '-d', '-h', '-2', '-8', '-6']
    plt.plot(num[0],num[link],markes[link],label = '第'+ str(plt_label) + '条线段')
plt.legend()
plt.show()

结果:ui

1557837661613
在这里插入图片描述

  • 另外若是你感受一张图中绘制的直线过多,想要每一个图中绘制五条直线,那么你能够使用figure():spa

    import numpy as np
    import matplotlib.pyplot as plt
    num = np.arange(40).reshape(10,4)#生成10行4列的数组
    plt.rcParams['font.sans-serif'] = ['SimHei']#能够解释中文没法显示的问题
    plt_label = 0
    for link in range(len(num)):
        plt_label += 1
        markes = ['-o', '-s', '-^', '-p', '-^', '-v', '-p', '-d', '-h', '-2', '-8', '-6']
        half = len(num)/2
        if link < half:
            plt.figure('第一个图片')
            plt.plot(num[0],num[link],markes[link],label = '第'+ str(plt_label) + '条线段')
            plt.legend()
        else:
            plt.figure('第二个图片')
            plt.plot(num[0],num[link],markes[link],label = '第'+ str(plt_label) + '条线段')
            plt.legend()
    plt.show()

    结果:3d

    1557838134191
    在这里插入图片描述
    !(https://img-blog.csdnimg.cn/20190514205505307.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzI0NTQ1Mw==,size_16,color_FFFFFF,t_70)