文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python数据可视化之matplotlib.pyplot绘图的基本参数详解

2024-04-02 19:55

关注

1.matplotlib简介

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

特点:

    使用简单绘图语句实现复杂绘图效果 

    以交互式操作实现渐趋精细的图形效果 

    使用嵌入式 LaTex 输出具有印刷级别的图表、科学表达式和符号文本

    对图表的组成元素实现精细化控制

三种绘图接口

本篇文章使用plot绘图(展示变量的趋势变化 )展示绘图的基本参数,使用numpy库获得绘图数据(随机),最后出来的图形并非经过仔细思考,一切以展示图形参数为主!!!

使用的库:

import matplotlib.pyplot as plt
import numpy as np

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

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

   使用方法:plt.plot(x, y, c,ls, lw, label, alpha, **kwargs)        

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:背景色

plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.show()

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

 使用方法:plt.xlim(xmin,xmax)

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

使用方法:plt.xlabel(fontsize, verticalalignment, horizontalalignment, rotation, bbox) 

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

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

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

使用方法:plt.axhline(y, c, ls, lw, label)

y:水平参考线的出发点

plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.xlim(1, 10)
plt.ylim(-1, 1)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(ls=':',
         color='blue')  # 设置网格,颜色为蓝色
plt.axhline(0.5, color='green', lw=2, label="分割线")  # 绘制平行于x轴的水平参考线,绿色,名称
plt.show()

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

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

使用方法:plt.axvspan( xmin, xmax ,facecolor, alpha)

注:其使用方法也可以用在 axhspan()上

在上一段代码添加

plt.axvspan(xmin=2,
            xmax=5,
            facecolor='r',
            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()

xycoords= 参数如下

以用这些:

plt.annotate('local',
             xy=(2, 1),
             xytext=(0.5, 0.5),
             weight='bold',
             color='red',
             xycoords="data",
             arrowprops=
             dict(arrowstyle="->", connectionstyle='arc3', color='b'),
             bbox=
             dict(boxstyle="rarrow",
                  pad=0.6,
                  fc="yellow",
                  ec='k',
                  lw=1,
                  alpha=0.5)
             )

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

2.9 bbox:给增加外框

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

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

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

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

函数方法:plt.text()

x,y:表示坐标轴上的值

weight:

xycoodrds:

data:使用被注释对象的坐标系统

arrowprops:箭头参数,参数类型为字典 dict

     width:箭头的宽度

     headwidth:箭头底部以点为单位的宽度

     headlength:箭头的长度

     shrink:总长度的一部分,从两端“收缩”

     facecolor:箭头颜色

bbox:给增加外框

           boxstyle:方框外形

           circle:椭圆

           darrow:双向箭头

           larrow:箭头向左

           rarrow:箭头向右

           round:圆角矩形

           round4:椭长方形

           roundtooth:波浪形边框 1

           sawtooth:波浪形边框 2

           square:长方形         

plt.text(1, 1,
         "y=sinx",
         weight='bold',
         color ='b')

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

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

plt.title("正弦函数")

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

使用方法:plt.legeng()

图例在图中的地理位置:

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. 完整代码显示

import matplotlib.pyplot as plt
import numpy as np
 
plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.xlim(1, 10)
plt.ylim(-1, 1)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(ls=':',
         color='blue')  # 设置网格,颜色为蓝色
plt.axhline(0.5, color='green', lw=2, label="分割线")  # 绘制平行于x轴的水平参考线,绿色,名称
plt.axvspan(xmin=2,
            xmax=5,
            facecolor='r',
            alpha=0.2)  # 绘制垂直于x轴的参考区域
plt.axhspan(ymin=(-3**0.5)/2,
            ymax=(3**0.5)/2,
            facecolor='w',
            alpha=0.2)
 
plt.legend(loc="lower left")  # 设置图例位置
plt.annotate('local',
             xy=(2, 1),
             xytext=(0.5, 0.5),
             weight='bold',
             color='red',
             xycoords="data",
             arrowprops=
             dict(arrowstyle="->", connectionstyle='arc3', color='b'),
             bbox=
             dict(boxstyle="rarrow",
                  pad=0.6,
                  fc="yellow",
                  ec='k',
                  lw=1,
                  alpha=0.5)
             )
plt.xticks(list(range(0, 12, 1)))  # 调整刻度范围和刻度标签
plt.text(1, 1,
         "y=sinx",
         weight='bold',
         color ='b')
plt.title("正弦函数")
plt.show()

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

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

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

4.折线图的线条风格      

   -:实线样式
   --:短横线样式
   -.:点划线样式
   ::虚线样式
    .:点标记
    O:圆标记
    V:倒三角标记
    ^:正三角标记
    <:左三角标记
    >:右三角表示
    1:下箭头标记13
    2:上箭头标记
    3:左箭头标记
    4:右箭头标记
    S:正方形标记
    p:五边形标记
    *:星形标记
    H:六边形标记
    +:加号标记
    X:x 标记
    D:菱形标记
    |:竖直线标记
    _:水平线标记

5. 常用颜色缩写

b 蓝色
g 绿色
r 红色
c 青色
m 品红色·
y 黄色
k 黑色
w 白色

6.总结

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

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

到此这篇关于Python数据可视化之matplotlib.pyplot绘图的基本参数的文章就介绍到这了,更多相关Python matplotlib.pyplot绘图参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯