• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Python可视化——matplotlib.pyplot绘图的基本参数

武飞扬头像
小白微
帮助1

目录

1.matplotlib简介

2.图形组成元素的函数用法

2.1. figure():背景颜色

2.2 xlim()和 ylim():设置 x,y 轴的数值显示范围

2.3 xlabel()和 ylabel():设置 x,y 轴的标签文本

2.4 grid():绘制刻度线的网格线

2.5 axhline():绘制平行于 x 轴额度水平参考线

2.6 axvspan():绘制垂直于 x 轴的参考区域

2.7 xticks(),yticks()

2.8 annotate():添加图形内容细节的指向型注释文本

2.9 bbox:给标题增加外框

2.10 . text():添加图形内容细节的无指向型注释文本(水印)

2.11. title():添加图形内容的标题

2.12. legend():标示不同图形的文本标签图例

2.13 table():向子图中添加表格

3. 完整代码显示

4.折线图的线条风格

5. 常用颜色缩写

6.总结


1.matplotlib简介

matplotlib 库是 Python 中绘制二维和三维图表的数据可视化工具

特点:
    使用简单绘图语句实现复杂绘图效果 
    以交互式操作实现渐趋精细的图形效果 
    使用嵌入式 LaTex 输出具有印刷级别的图表、科学表达式和符号文本
    对图表的组成元素实现精细化控制

三种绘图接口

        pyplot:面向当前图

        axes:面向对象

        Pylab:沿用 matlab 风格

使用的库:

  1.  
    import matplotlib.pyplot as plt
  2.  
    import numpy as np

2.图形组成元素的函数用法

  plot():展示变量的趋势变化

   使用方法:plt.plot(x, y, c,ls, lw, label, alpha, **kwargs)        
          x,y:x,y 轴上的数值
          c:设置颜色
          ls:折线图的线条风格
          lw:折线图的线条宽度
          label:标记图形内容的标签文本
          alpha:透明度
          **kwargs:指定使用的是 line2D 属性
        

 2.1. figure():背景颜色

        使 用 方 法 : figure(num=None, figsize=None, dpi=None, facecolor=None,
edgecolor=None, frameon=True, FigureClass=Figure, clear=False, **kwargs)  
num :
        如果此参数没有提供,则一个新的 figure 对象将被创建,同时增加 figure 的计数数值,此数值被保存在 figure 对象的一个数字属性当中。如果有此参数,且存在对应 id 的 figure 对象,则激活对于 id 的 figure 对象。如果对应 id 的 figur 对象不存在,则创建它并返回它。如果 num 的值是字符串,则将窗口标题设置为此字符串
figsize:以英寸为单位的宽高,缺省值为 rc figure.figsize (1 英寸等于 2.54 厘米)
dpi:图形分辨率,缺省值为 rc figure.dpi
facecolor:背景色
  1.  
    plt.figure(figsize=(10, 10))
  2.  
    x = np.linspace(0.05, 10, 1000) # 在0.05到10的区间中,等差选取1000个,端点不属于
  3.  
    y = np.sin(x)
  4.  
    plt.rcParams['font.sans-serif'] = ['SimHei']
  5.  
    plt.rcParams['axes.unicode_minus'] = False
  6.  
    plt.plot(x, y,
  7.  
    color='red',
  8.  
    ls='-',
  9.  
    label='sinx')
  10.  
    plt.show()

学新通 2.2 xlim()和 ylim():设置 x,y 轴的数值显示范围

 使用方法:plt.xlim(xmin,xmax)
        xmin:x 轴上的最小值
        xmax:x 轴上的最大值

2.3 xlabel()和 ylabel():设置 x,y 轴的标签文本

使用方法:plt.xlabel(fontsize, verticalalignment, horizontalalignment, rotation, bbox)
 
fontsize:数字或者(small,large,medium)
verticalalignment:距离坐标轴的位置(top,bottom,center,baseline)
hoizontalalignment:位置(center,right,left)
ratation:位置(vertical,horizontal,vertical)
bbox:添加边框

2.4 grid():绘制刻度线的网格线

使用方法:plt.grid(linestyle, color)

2.5 axhline():绘制平行于 x 轴额度水平参考线

使用方法:plt.axhline(y, c, ls, lw, label)
y:水平参考线的出发点
  1.  
    plt.figure(figsize=(10, 10))
  2.  
    x = np.linspace(0.05, 10, 1000) # 在0.05到10的区间中,等差选取1000个,端点不属于
  3.  
    y = np.sin(x)
  4.  
    plt.rcParams['font.sans-serif'] = ['SimHei']
  5.  
    plt.rcParams['axes.unicode_minus'] = False
  6.  
    plt.plot(x, y,
  7.  
    color='red',
  8.  
    ls='-',
  9.  
    label='sinx')
  10.  
    plt.xlim(1, 10)
  11.  
    plt.ylim(-1, 1)
  12.  
    plt.xlabel('x轴')
  13.  
    plt.ylabel('y轴')
  14.  
    plt.grid(ls=':',
  15.  
    color='blue') # 设置网格,颜色为蓝色
  16.  
    plt.axhline(0.5, color='green', lw=2, label="分割线") # 绘制平行于x轴的水平参考线,绿色,名称
  17.  
    plt.show()
学新通

学新通

(上图中绿色的线即为axjline()添加的参考线)

2.6 axvspan():绘制垂直于 x 轴的参考区域

使用方法:plt.axvspan( xmin, xmax ,facecolor, alpha)
xmin:参考区域的起始位置
xmax:参考区域的终止位置
facecolor:参考区域的填充颜色
alpha:参考区域填充颜色的透明度,[0~1]
注:其使用方法也可以用在 axhspan()上
在上一段代码添加
  1.  
    plt.axvspan(xmin=2,
  2.  
    xmax=5,
  3.  
    facecolor='r',
  4.  
    alpha=0.2) # 绘制垂直于x轴的参考区域

即得到(注意:此段是区域)学新通

 2.7 xticks(),yticks()

        获取或设置当前 x 轴或 y 轴刻度位置和标签(即设置 x 或 y 轴的标 签)

可以理解为设置xilim和ylim一样的效果,但可以指定范围和距离

plt.xticks(list(range(0, 12, 1)))  # 调整刻度范围和刻度标签

学新通

注意看x轴,从原来的0~10到现在的0~11,可以通过设置第三个参数设置步长,这里设置为1

2.8 annotate():添加图形内容细节的指向型注释文本

函数方法:plt.annotate()

s:注释文本内容

xy:被注释的坐标点

xytext:注释文字的坐标位置
weight:设置字体线形(Ultralight,light,normal,regular,book,medium,roman,semibold,demibold,demi,bold,heavy,extrabold,black)
color:设置字体颜色;也可以设置 RGB 或 RGBA 类型的颜色;但必须为[0,1]之间的浮点 数         
xycoords= 参数如下
     figure points:图左下角的点
     figure pixels:图左下角的像素
     figure fraction:图的左下部分
     axes points:坐标轴左下的点
     axes pixels:坐标轴左下的像素
     data:使用被注释对象的坐标系统
     arrowprops:箭头参数,参数类型为字典 dict
     width:箭头的宽度
     headwidth:箭头底部以点为单位的宽度
     headlength:箭头的长度
     shrink:总长度的一部分,从两端“收缩”
     facecolor:箭头颜色(如果设置了 arrowstyle 关键字,上面的参数都不可以用,可
以用这些:
                                -
                                ->
                                -[
                                |-|
                                -|>
                                <->
                                <|-
                                <|-|>
                                fancy
                                simple
                                wedge
  1.  
    plt.annotate('local',
  2.  
    xy=(2, 1),
  3.  
    xytext=(0.5, 0.5),
  4.  
    weight='bold',
  5.  
    color='red',
  6.  
    xycoords="data",
  7.  
    arrowprops=
  8.  
    dict(arrowstyle="->", connectionstyle='arc3', color='b'),
  9.  
    bbox=
  10.  
    dict(boxstyle="rarrow",
  11.  
    pad=0.6,
  12.  
    fc="yellow",
  13.  
    ec='k',
  14.  
    lw=1,
  15.  
    alpha=0.5)
  16.  
    )
学新通

学新通

 这里的黄色箭头和蓝色细长线即为参数方法添加的参数,实际使用过程中根据自己的实际所需使用,可以认为添加对图像的一些解释

2.9 bbox:给标题增加外框

(boxstyle:方框外形;circle:椭圆;darrow:双向箭头;larrow:箭头向左;rarrow:箭

头向右;round:圆角矩形;round4:椭长方形;roundtooth:波浪形边框 1;sawtooth:

波浪形边框 2;square:长方形)

2.10 . text():添加图形内容细节的无指向型注释文本(水印)

函数方法:plt.text()

x,y:表示坐标轴上的值
weight:
            ultralightlight
            normal
            regular
            book
            medium
            roman
            semibold
            demibold
            demi
            bold
            heavy
            extrabold
            black
xycoodrds:
    figure points:图左下角的点
    figure pixels:图左下角的像素
    figure fraction:图的左下部分
    axes points:坐标轴左下的点
    axes pixels:坐标轴左下的像素
                        
data:使用被注释对象的坐标系统
                
bbox:给标题增加外框
           boxstyle:方框外形
           circle:椭圆
           darrow:双向箭头
           larrow:箭头向左
           rarrow:箭头向右
           round:圆角矩形
           round4:椭长方形
           roundtooth:波浪形边框 1
           sawtooth:波浪形边框 2
           square:长方形         
  1.  
    plt.text(1, 1,
  2.  
    "y=sinx",
  3.  
    weight='bold',
  4.  
    color ='b')

    这里设置在坐标(1,1)上,即文字下面y=sinx的蓝色字段学新通

2.11. title():添加图形内容的标题

plt.title("正弦函数")

学新通

2.12. legend():标示不同图形的文本标签图例

使用方法:plt.legeng()

图例在图中的地理位置:
                        best
                        upper right
                        upper left
                        lower left
                        lower right
                        right
                        center left
                        center right
                        lower center
                        upper center
                        center
plt.legend(loc="lower left")  # 设置图例位置

学新通

2.13 table():向子图中添加表格

plt.table(cellText=None, cellColours=None, cellloc='right' ,colWidths=None,
rowLabels=None, rowColours=None, collLabels=None, colColours=None,
collloc='center', loc='bpttpm', bbox=None, edges='closed', **kwargs)
cellText:表格单元格文本。类型为二维字符串列表
cellColours:表格单元格背景色。类型为二位颜色值列表
cellloc:表格单元格文本的对齐方式。默认值为right
                                left
                                right
                                center
colWidths:表格单元格宽度。类型为浮点数列表
rowLabels:表格行表头文本。类型为字符串列表
rowColours:表格行表头背景色。类型为颜色列表
colLabels:表格列表头文本。类型为字符串列表
colLoc:表格行表头文本对齐方式。默认 right
                                left
                                right
                                center
colColours:表格列表头背景色。类型为颜色列表
loc:单元格相对于子图的位置
bbox:绘制表格的边界框,如果此参数不为 None,将会覆盖 loc 参数
      edges:单元格边线,该属性会影响各类单元格背景色
                        BRTL
                        open
                        closed
                        horizontal
                        vertical

3. 完整代码显示

  1.  
    import matplotlib.pyplot as plt
  2.  
    import numpy as np
  3.  
     
  4.  
    plt.figure(figsize=(10, 10))
  5.  
    x = np.linspace(0.05, 10, 1000) # 在0.05到10的区间中,等差选取1000个,端点不属于
  6.  
    y = np.sin(x)
  7.  
    plt.rcParams['font.sans-serif'] = ['SimHei']
  8.  
    plt.rcParams['axes.unicode_minus'] = False
  9.  
    plt.plot(x, y,
  10.  
    color='red',
  11.  
    ls='-',
  12.  
    label='sinx')
  13.  
    plt.xlim(1, 10)
  14.  
    plt.ylim(-1, 1)
  15.  
    plt.xlabel('x轴')
  16.  
    plt.ylabel('y轴')
  17.  
    plt.grid(ls=':',
  18.  
    color='blue') # 设置网格,颜色为蓝色
  19.  
    plt.axhline(0.5, color='green', lw=2, label="分割线") # 绘制平行于x轴的水平参考线,绿色,名称
  20.  
    plt.axvspan(xmin=2,
  21.  
    xmax=5,
  22.  
    facecolor='r',
  23.  
    alpha=0.2) # 绘制垂直于x轴的参考区域
  24.  
    plt.axhspan(ymin=(-3**0.5)/2,
  25.  
    ymax=(3**0.5)/2,
  26.  
    facecolor='w',
  27.  
    alpha=0.2)
  28.  
     
  29.  
    plt.legend(loc="lower left") # 设置图例位置
  30.  
    plt.annotate('local',
  31.  
    xy=(2, 1),
  32.  
    xytext=(0.5, 0.5),
  33.  
    weight='bold',
  34.  
    color='red',
  35.  
    xycoords="data",
  36.  
    arrowprops=
  37.  
    dict(arrowstyle="->", connectionstyle='arc3', color='b'),
  38.  
    bbox=
  39.  
    dict(boxstyle="rarrow",
  40.  
    pad=0.6,
  41.  
    fc="yellow",
  42.  
    ec='k',
  43.  
    lw=1,
  44.  
    alpha=0.5)
  45.  
    )
  46.  
    plt.xticks(list(range(0, 12, 1))) # 调整刻度范围和刻度标签
  47.  
    plt.text(1, 1,
  48.  
    "y=sinx",
  49.  
    weight='bold',
  50.  
    color ='b')
  51.  
    plt.title("正弦函数")
  52.  
    plt.show()
学新通

这串代码用于显示中文字符

  1.  
    plt.rcParams['font.sans-serif'] = ['SimHei']
  2.  
    plt.rcParams['axes.unicode_minus'] = False

无论画什么图,最后都得使用plt.show()用于展示图片,否则输出为空

4.折线图的线条风格

     
  1.  
       -:实线样式
  2.  
       --:短横线样式
  3.  
       -.:点划线样式
  4.  
       ::虚线样式
  5.  
        .:点标记
  6.  
        O:圆标记
  7.  
        V:倒三角标记
  8.  
        ^:正三角标记
  9.  
        <:左三角标记
  10.  
        >:右三角表示
  11.  
        1:下箭头标记13
  12.  
        2:上箭头标记
  13.  
        3:左箭头标记
  14.  
        4:右箭头标记
  15.  
        S:正方形标记
  16.  
        p:五边形标记
  17.  
        *:星形标记
  18.  
        H:六边形标记
  19.  
         :加号标记
  20.  
        X:x 标记
  21.  
        D:菱形标记
  22.  
        |:竖直线标记
  23.  
        _:水平线标记
学新通

5. 常用颜色缩写

  1.  
    b 蓝色
  2.  
    g 绿色
  3.  
    r 红色
  4.  
    c 青色
  5.  
    m 品红色·
  6.  
    y 黄色
  7.  
    k 黑色
  8.  
    w 白色

6.总结

        很多参数有时候用不上,但要知道有,存在即合理,不同参数的作用功能不同,不要任何图都加太多参数,一般有图例、标题,xy轴的范围即可。

        无论使用哪个,建议先试试,实践是检验真理的唯一标准!!!

        有写的不好的地方希望读者见谅,我也在一步步摸索,有疑问欢迎在评论区讨论

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgagfae
系列文章
更多 icon
同类精品
更多 icon
继续加载