热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据可视化(pylot的基础)

matplotlib可视化库简介Matplotlib库是Python中著名的绘图库,也是Python可视化库的基础库,功能十分强大。Matplotli

matplotlib可视化库简介


  1. Matplotlib库是Python中著名的绘图库,也是Python可视化库的基础库,功能十分强大。
  2. Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。Import matplotlib.pyplot as plt #引入模块的别名
  3. matplotlib通过pyplot模块提供了一套和Matlab类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部。因此,只需要调用pyplot模块所提供的函数就可以实现快速绘图以及设置图表的各种细节。

pyplot的保存图片

plt.savefig()将输出图形存储为文件,默认PNG格式,可以通过dpi修改输出质量(每英寸上输出点的数量)。


pyplot的绘图区域

plt.subplot(nrows, ncols, plot_number)
• nrows:横轴数量
• ncols:纵轴数量
• plot_number:绘图区编号
:plt.subplot(2, 1, 1)把画布分成2行1列,在第一个图上绘画


pyplot的横纵坐标

plot.axis()设定横纵坐标尺度,
参数是四个变量的列表:横坐标起始值,横坐标终止值,纵坐标起始值,纵坐标终止值
例:

import matplotlib. pyplot as plt
plt plot([0,2,4.6,8],[3,1,45,2])
plt ylabel(" Grade")
plt axis([-1,10,0,6])
plt show()

生成图片:横纵坐标
在这里插入图片描述


pyplot的表格模式

plt.grid(True)指在图像中加入坐标轴的表格模式。


pyplot的plot()函数

plt.plot(x, y, format_string, **kwargs)
x : X轴数据,列表或数组,可选
y : Y轴数据,列表或数组
format_string: 控制曲线的格式字符串,可选

**kwargs : 第二组或更多(x,y,format_string),可以绘制多条曲线


  • x和y参数

  1. plt.plot()只有一个输入列表或数组时:
    • 参数被当作y轴,
    • X轴以索引自动生成。

  2. plt.plot(x,y)当有两个以上参数时
    • 按照X轴和Y轴顺序绘制数据点

:当绘制多条曲线时,各条曲线的x不能省略


  • format_string:由颜色字符、风格字符和标记字符组成

颜色字符:
在这里插入图片描述
风格字符:
在这里插入图片描述
标记字符:
在这里插入图片描述


多条曲线代码案例

import matplotlib. pyplot as plt
import numpy as np
a=np.arange(10)
plt.plot(a, a*1.5, 'go-', a, a*2.5, 'rx', a, a*3.5, '*', a, a*4.5,'b-' )
plt.show()

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


一条曲线的情况下

color : 控制颜色,color=‘green’
linestyle : 线条风格,linestyle=‘dashed’
marker : 标记风格,marker=‘o’
markerfacecolor: 标记颜色,markerfacecolor=‘blue’
markersize : 标记尺寸,markersize=20
linewidth:线的粗细……


代码实现

import matplotlib.pyplot as plt
import numpy as np
a = np.arange(10)
plt.plot(a, a*1.5, color='green',linestyle="dashed",marker='o',
markerfacecolor='blue',markersize=20)
plt.show()

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


pyplot的中文显示

pyplot中不默认支持中文的显示,需要增加额外的代码辅助


方法一:rcParams

pyplot并不默认支持中文显示,需要rcParams修改字体实现
rcParams是pyplot库中改变全局字体的资源库


  • rcParams的属性
    在这里插入图片描述
  • 字体种类:rcParams[‘font.family’]
    在这里插入图片描述

例子:matplotlib.rcParams[‘font.family’]=‘Kaiti’


方法二:fontproperties

例子:plt.xlabel(“横轴:时间”,fontproperties =‘SimHei’, font.size = 20)


pyplot的文本显示


pyplot()的文本显示函数


函数说明
plt.xlabel():对x轴增加文本标签。
plt.ylabel():对y轴增加文本标签。
plt.title():对图形整体增加文本标签,放置在整个图形的正上方。
plt.text():在任意位置增加文本。
plt.annotate():在图像中增加带箭头的注解。

添加图例 plt.legend()

在这里插入图片描述
plt.legend(“y=cos(2\pi x)”], loc = ‘upper center’)
loc是位置,前面是名称


pyplot()的文本显示-annotate

添加注释:plt.annotate(string, xy=arrow_crd, xytext=text_crd,arrowprops=dict)
第一个参数表示要加入的注解字符串,
第二个指箭头所在位置,
第三个指文本所在位置,
第四个指为箭头显示的属性。


案例:

代码:

import numpy as np
import matplotlib.pyplot as plta = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=15,color='green')
plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=15)
plt.title(r'正弦波实例 $y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25)
plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))plt.axis([-1,6,-2,2])
plt.grid(True)
plt.show()

图片
在这里插入图片描述


pyplot()的子绘图区域


自定义区域plt.subplot2grid()

plt.subplot2grid(GridSpec, CurSpec,colspan=1, rowspan=1)
理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始

例1:
#共计分为3行3列,ax1从(0,0)算起,占据3列
plt.subplot2grid((3,3),(0,0), colspan=3)
plt.subplot2grid((3,3),(1,0), colspan=2) #ax2
plt.subplot2grid((3,3),(1,2), rowspan=2) #ax3
在这里插入图片描述
例2:
#共计分为3行3列,ax1从(0,0)算起,占据3列1行
ax1=plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1) #colspan,rowspan默认都为1


GridSpec类

概念:是pyplot中一个用来进行子区域设计和选定的类。可以和subplot结合使用。
案例
:
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 这篇文章主要介绍了Python拼接字符串的七种方式,包括使用%、format()、join()、f-string等方法。每种方法都有其特点和限制,通过本文的介绍可以帮助读者更好地理解和运用字符串拼接的技巧。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
author-avatar
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有