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

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

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

  • 使用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()#显示图片,如果注释改行,即使设置了图片仍然不显示
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

  • 为了更好的区分直线,可能需要对数据点进行标记,标记可以使用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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

结果:

1557837661613
在这里插入图片描述

  • 另外如果你感觉一张图中绘制的直线过多,想要每个图中绘制五条直线,那么你可以使用figure():

    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()
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

结果:

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

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值