目录

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 风格

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

使用的库:

import matplotlib.pyplot as plt
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:背景色
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)
        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:水平参考线的出发点
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)
xmin:参考区域的起始位置
xmax:参考区域的终止位置
facecolor:参考区域的填充颜色
alpha:参考区域填充颜色的透明度,[0~1]
注:其使用方法也可以用在 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()

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
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:
            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:使用被注释对象的坐标系统
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()

图例在图中的地理位置:
                        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. 完整代码显示

import matplotlib.pyplot as plt
import numpy as npplt.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:下箭头标记132:上箭头标记3:左箭头标记4:右箭头标记S:正方形标记p:五边形标记*:星形标记H:六边形标记+:加号标记X:x 标记D:菱形标记|:竖直线标记_:水平线标记

5. 常用颜色缩写

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

6.总结

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

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

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

Python可视化——matplotlib.pyplot绘图的基本参数详解相关推荐

  1. Python数据可视化——matplotlib.pyplot中plt的参数详解

    matplotlib.pyplot中plt的参数详解: #平滑折线的示例 # plt.plot(xnew, ynew, marker='.', markevery=markevery, ls='-', ...

  2. Python可视化matplotlib自定义:运行时参数修改、自定义样式、默认样式+plt.style.use()

    Python可视化matplotlib自定义:运行时参数修改.自定义样式.默认样式+plt.style.use() 目录 Python可视化matplotlib自定义:运行时参数修改.自定义样式.默认 ...

  3. matplotlib.pyplot.figure()结构及用法详解

    matplotlib.pyplot.figure官方文档 源代码 matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolo ...

  4. Python使用matplotlib.pyplot绘图时设置坐标轴刻度

    问题描述:在使用matplotlib绘图时,可能会需要设置坐标轴上刻度之间的距离,或者为刻度设置标签. 技术要点:pyplot的xticks()和yticks()函数的用法. 参考代码1: 运行结果1 ...

  5. Python 散点图 回归拟合 带误差 各参数详解(2)

    1.数据下载地址 散点图样例数据:https://download.csdn.net/download/qq_35240689/87006447 import numpy as np import p ...

  6. Python中制作词云的WordCloud参数详解

    场景 官方API: https://amueller.github.io/word_cloud/generated/wordcloud.WordCloud.html 实现 font_path : st ...

  7. Python — matplotlib.pyplot 绘图模块及常用函数

    目录 1. 基本用法与折线图 pyplot 模块的常用函数 折线图函数: matplotlib.pyplot.plot() 常用 format_string 参数 常用函数 grid () 控制各轴网 ...

  8. Python matplotlib.pyplot.hist函数 参数详解(超详细的!)

    matplotlib.pyplot.hist函数 参数详解 函数内容 matplotlib.pyplot.hist(x, bins=None, range=None, normed=False, we ...

  9. plot参数详解python_30行Python代码实现3D数据可视化

    作者:潮汐 来源:Python技术 欢迎来到编程教室~ 我们之前的文章中有讲解过不少 Matplotlib 的用法,比如: 完成这50个Matplotlib代码,你也能画出优秀的图表 25个常用Mat ...

最新文章

  1. 怎么把python结果全部显示-python – 如何展开输出显示以查看更多列?
  2. python项目实践_Python 项目实践三(Web应用程序)第二篇
  3. lucene源码分析(3)facet实例
  4. angular4更改表单中显示的值_Angular 4 动态表单教程 Reactive Forms教程
  5. testflight开发者已将您从测试计划中移除_使用 TestFlight 测?试 App
  6. python图书管理系统增删改查_固定资产管理系统,高效管理企业资产
  7. java重命名excel_Java重命名Excel工作表并设置工作表及标签颜色
  8. 金三银四大厂面经总结,mysql创建视图的sql语句
  9. CAD .Net 开发-快速入门
  10. matlab好看的字体,最佳50个新鲜+漂亮的字体(2011)
  11. 手动以及使用torch.nn实现前馈神经网络实验
  12. opencv-contrib sfm扩展模块下载安装
  13. 【IT之路】Docker系列-CentOS 7 64位镜像下载
  14. Qt 人脸对比体温检测软件(界面酷炫),千人毫秒响应
  15. python安装包的时候报错 ERROR: Exception: Traceback (most recent call last): File “C:\Users\
  16. Firefox如何给页面权限
  17. JAVA第三方工具类
  18. HashMap是如何遍历的
  19. element-ui中el-container容器与div布局区分
  20. 实战案例,手把手教你使用 Tableau 绘制超炫酷可视化图表

热门文章

  1. 百度竞价排名的基本知识
  2. anybody软件下载
  3. verilog 自动售货机状态机实现_Verilog HDL自动售货机系统设计与仿真实验报告
  4. 互融云工业品电商系统开发整体解决方案 助力行业数字信息化发展
  5. 有什么好用的免费不限页数的PDF转PPT工具?
  6. 数据导入与预处理——数据导入导出实验一
  7. python代码做图_超好看的弦图,Python一行代码就能做
  8. Lazada卖家看过来!Lazada要如何正确选择产品分类?
  9. Android11.0 增加人脸解锁功能
  10. Connection reset