• matplotlib作图——plot() 线图


    线图

    #定义
    matplotlib.pyplot.plot()
    plot([x], y, [fmt], data=None, **kwargs)
    plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

    解释说明:

       x和y分别代表坐标,x是可以不填,有默认值range(len(y));

      可选参数fmt是定义基本格式(如颜色、标记和线条样式)的便捷方式;

    #简单示例:
    plot(x,y)  #默认的基本格式为"b-"
    plot(x,y,'bo')
    plot(y)
    plot(y,'r+')

    例1:简单应用

    import matplotlib.pyplot as plt
    import numpy as np
    y = np.random.random_sample((20,))
    plt.plot(y,'ro--')  #有默认的x
    plt.show()

    效果:

    例2:便捷方式定义格式

    import matplotlib.pyplot as plt
    import numpy as np
    x = np.arange('2018-01-01','2018-01-02',dtype='datetime64[h]')[:20]
    y = np.random.random_sample((20,))
    #关于plt属性的设置后面会详细讲解,目前只是提一下
    plt.xticks(rotation=45)  #x轴的倾斜程度
    plt.xlabel("time")  #X轴名
    plt.ylabel("index")
    plt.title('TEST')
    plt.plot(x,y,'ro--',linewidth=2, markersize=6)  #红色、圆点、虚线
    plt.show()

    效果:

    如果你觉得这样定义格式不够精确,那么可以使用Line2D属性作为关键字参数来更好地控制外观,

    属性和fmt可以混合使用,当Line2D与fmt参数冲突时,关键字参数优先。

    例3:Line2D精确定义

    #下图和上图所能得到的结果是相同的。
    # #关于plt属性的设置后面会详细讲解,目前只是提一下
    plt.xticks(rotation=45)  #x轴的倾斜程度
    plt.xlabel("time")  #X轴名
    plt.ylabel("index")
    plt.title('TEST')
    plt.plot(x,y,color='r',marker='o',linestyle='--',linewidth=2, markersize=6)  #红色、圆点、虚线
    plt.show()

    效果:

     传值的多种方式:

    除了上面的直接传之之外,还有多种比较方便的传值方式

    例4:直接从一个二维数组中取数据

    data = np.random.random_sample((100,2))
    plt.plot(data[:,0],data[:,1],'ro')
    plt.show()

    效果:

    例5:直接传入一个数组对象,然后取里面的某一字段

    import pandas as pd
    df = pd.DataFrame(np.random.randn(100,2),columns=list('AB'))
    plt.plot('A','B','ro',data=df)
    plt.show()

    效果:

    一个图里面绘制多条曲线:

    例6:方式一

    import numpy as np
    import matplotlib.pyplot as plt
    t = np.linspace(1,5,30)
    plt.plot(t,t,'r--')
    plt.plot(t,t*2,'b^')
    plt.plot(t,t**2,'g*')
    plt.show()

    效果:

    例7:方式二

    import numpy as np
    import matplotlib.pyplot as plt
    t = np.linspace(1,5,30)
    plt.plot(t,t,'r--',t,t*2,'b^',t,t**2,'g*')
    plt.show()

    效果:

    表一:颜色

    字符颜色
    'b' 蓝色
    'g' 绿色
    'r'
    'c' 青色
    'm' 品红
    'y' 黄色
    'k' 黑色
    'w' 白色

    图二:标记

    字符描述
    '.' 点标记
    ',' 像素标记
    'o' 圆圈标记
    'v' triangle_down标记
    '^' triangle_up标记
    '<' triangle_left标记
    '>' triangle_right标记
    '1' tri_down标记
    '2' tri_up标记
    '3' tri_left标记
    '4' tri_right标记
    's' 方形标记
    'p' 五边形标记
    '*' 明星标记
    'h' hexagon1标记
    'H' hexagon2标记
    '+' 加上标记
    'x' x标记
    'D' 钻石标记
    'd' thin_diamond标记
    '|' vline标记
    '_' hline标记

    图三:线型

    字符描述
    '-' 实线风格
    '--' 虚线样式
    '-.' 点划线样式
    ':' 虚线样式

    图四:Line2D属性

    属性描述
    agg_filter 一个过滤函数,它取一个(m,n,3)浮点数组和一个dpi值,并返回一个(m,n,3)数组
    alpha float(0.0透明到1.0不透明)
    animated 布尔
    antialiased 或者aa 布尔
    clip_box 一个Bbox实例
    clip_on 布尔
    clip_path [(PathTransform)| Patch没有]
    color 或c 任何matplotlib颜色
    contains 一个可调用的函数
    dash_capstyle ['屁股'| '圆'| “突出”]
    dash_joinstyle ['斜接'| '圆'| '斜角']
    dashes 点的开/关墨水序列
    drawstyle ['默认'| '步骤'| 'steps-pre'| 'steps-mid'| “步骤-交”]
    figure 一个Figure实例
    fillstyle ['完整'| '左'| '对'| '底'| '顶'| '没有']
    gid 一个id字符串
    label 目的
    linestyle 或者ls ['solid'| '虚线','dashdot','点'| (偏移,开 - 关 - 破折号)| '-''--''-.'':''None']'''
    linewidth 或者lw 浮点数值
    marker valid marker style
    markeredgecolor 或mec 任何matplotlib颜色
    markeredgewidth 或者说 浮点数值
    markerfacecolor 或者mfc 任何matplotlib颜色
    markerfacecoloralt 或者mfcalt 任何matplotlib颜色
    markersize 或者ms 浮动
    markevery [无| int | int |的长度为2的元组 切片| list / array of int | 漂浮| 长度为2的浮动元组]
    path_effects AbstractPathEffect
    picker 浮点距离或可拣选功能 fn(artist, event)
    pickradius 浮点距离
    rasterized 布尔或无
    sketch_params (比例:浮点数,长度:浮点数,随机性:浮点数)
    snap 布尔或无
    solid_capstyle ['屁股'| '圆'| “突出”]
    solid_joinstyle ['斜接'| '圆'| '斜角']
    transform 一个matplotlib.transforms.Transform实例
    url 一个网址字符串
    visible 布尔
    xdata 1D阵列
    ydata 1D阵列
    zorder 浮动
  • 相关阅读:
    SVN:cannot map the project with svn provider解决办法
    项目管理工具_maven的配置
    servlet,过滤器,监听器,拦截器的区别
    索引
    事务的隔离级别和传播行为
    jbpm工作流
    Hibernate---进度1
    java——反射
    HttpClient
    TCP和UDP并实现socket的简单通信
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/9664481.html
Copyright © 2020-2023  润新知