iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中plt绘图包的基本使用方法
  • 445
分享到

Python中plt绘图包的基本使用方法

python开发语言 2023-08-31 19:08:17 445人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

        在对数据进行处理和分析时,我们经常需要借助可视化工具,来将数据的一些特征以更易于我们理解的方式展现出来。在学习对Titanic - Machine Learning from Disaster | Kaggle的数据处理时,

        在对数据进行处理和分析时,我们经常需要借助可视化工具,来将数据的一些特征以更易于我们理解的方式展现出来。在学习Titanic - Machine Learning from Disaster | Kaggle的数据处理时,发现了自己对plt的了解和使用的缺失,因此进行一定的基础用法的学习,方便之后自己的使用,而不需要频繁的查阅资料。

        本文的代码参考自 Python深度学习入门之plt画图工具基础使用,并根据自己的理解做了一些改动。

        我将plt的图像绘制细分为四个步骤,分别是1)获取数据;2)设置画布;3)绘制内容;4)设置坐标轴刻度;5)添加网格;6)添加图例;7)添加坐标轴名称和图像标题;8)保存和展示。

1.数据的获取

         获取自己需要绘制的数据,一幅图需要x轴和y轴,所以需要两组数据。

import matplotlib.pyplot as pltimport randomx = range(60)y1 = [random.unifORM(35, 40) for i in x]    # uniform提供[35, 40)随机值y2 = [random.uniform(25, 30) for j in x]

2.创建画布

# 创建画布plt.figure(figsize=(8, 6), dpi=80) 

        我们使用plt.figure()函数创建空白画布。常用的参数中,figsize需要一个元组值,表示空白画布的横纵坐标比;dpi表示像素的个数,实际上就是对图像大小的控制。

3.绘制内容

        plt中提供了很多形式的内容绘制模块以供调用,例如曲线、散点图(scatter)、柱状图(bar)、饼图(pie)等。此处我们绘制双曲线图作为示例。

# 绘制曲线plt.plot(x, y1, color='r', linestyle='--', label='Shanghai')plt.plot(x, y2, color='g', linestyle='-.', label='Beijing')

        我们使用plt.plot()函数进行曲线的绘制。其中,前两个输入参数表示x轴和y轴的坐标,plot函数将提供的坐标点连接,即成为要绘制的各式线型。因此,平滑的曲线一般需要较密集的数据才能够绘制。常用的参数中,color表示绘制的颜色。官方提供的颜色种类如下表:

         linestyle参数表示绘制的线型,可用的线型包括 '-',  '--',  '-.',  ':',  'None',  ' ',  '',  'solid', 'dashed', 'dashdot', 'dotted',共11类。label参数则是对线段的一种名称标记,用于之后图例的绘制。

4.绘制图例

plt.legend(loc='best')  # 提供11种不同的图例显示位置

         plt.legend()函数用于绘制图例。loc参数表示图例的位置,默认为best,表示自动选择。

5.设置坐标轴刻度

# 设置刻度和步长z = range(-10, 45)x_label = ["10:{}".format(i) for i in x]plt.xticks(x[::5], x_label[::5])plt.yticks(z[::5])

        plt.xticks()和plt.yticks()函数用于设置坐标轴的步长和刻度。其中,第一个参数表示设置的步长大小;第二个参数表示显示的坐标轴刻度,默认为坐标的值。

6.添加网格信息

plt.grid(linestyle='--', alpha=0.5, linewidth=2)

        plt.grid()函数用于添加图片中的背景网格。常用参数中,alpha表示透明度设置,linewith表示线宽。

7.添加标题

# 添加标题plt.xlabel('Time/ min')plt.ylabel('Temperature/ ℃')plt.title('Curve of Temperature Change with Time')

        plt.xlabel()、plt.ylabel()和plt.title()函数分别用于设置x坐标轴、y坐标轴和图标的标题信息。

8.保存和展示

# 保存和展示# plt.savefig('./plt_img/test2.png')plt.show()

        plt.savefig()函数用于保存图片,plt.show()函数则用于显示图片。

通过以上8个步骤,我们就能够使用plt包绘制出各式各样的基本图像了。

以下是几种常见图形的绘制和代码:

1.单折线

 代码:

import matplotlib.pyplot as pltimport numpy as npimport random# have a tryplt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号x = range(60)# print(type(x))y = [random.uniform(35, 40) for i in x]  # uniform提供[35, 40)随机值# print(type(y))# 创建画布plt.figure(figsize=(12, 8), dpi=80)  # figsize为横纵坐标比,dpi为像素点个数plt.plot(x, y)# 设置刻度和步长z = range(-10, 45)x_label = ["10:{}".format(i) for i in x]plt.xticks(x[::5], x_label[::5])plt.yticks(z[::5])# 添加网格信息plt.grid(linestyle='--', alpha=0.5, linewidth=2)# 添加标题plt.xlabel('Time/ min')plt.ylabel('Temperature/ ℃')plt.title('Curve of Temperature Change with Time')# 保存和展示plt.savefig('./plt_img/test1.png')plt.show()

 2.双折线

代码:

import matplotlib.pyplot as pltimport numpy as npimport random# 多曲线图x = range(60)# print(type(x))y1 = [random.uniform(35, 40) for i in x]    # uniform提供[35, 40)随机值y2 = [random.uniform(25, 30) for j in x]# print(type(y))# 创建画布plt.figure(figsize=(8, 6), dpi=80)  # figsize为横纵坐标比,dpi为像素点个数# 绘制曲线plt.plot(x, y1, color='r', linestyle='--', label='Shanghai')plt.plot(x, y2, color='g', linestyle='-.', label='Beijing')# 绘制曲线图例plt.legend(loc='best')  # 提供11种不同的图例显示位置# 设置刻度和步长z = range(-10, 45)x_label = ["10:{}".format(i) for i in x]plt.xticks(x[::5], x_label[::5])plt.yticks(z[::5])# 添加网格信息plt.grid(linestyle='--', alpha=0.5, linewidth=2)# 添加标题plt.xlabel('Time/ min')plt.ylabel('Temperature/ ℃')plt.title('Curve of Temperature Change with Time')# 保存和展示# plt.savefig('./plt_img/test2.png')plt.show()

3.多图像绘制

 代码:

import matplotlib.pyplot as pltimport numpy as npimport random# 多图area = ['Shanghai\'s', 'Beijing\'s']x = range(60)# print(type(x))y1 = [random.uniform(35, 40) for i in x]    # uniform提供[35, 40)随机值y2 = [random.uniform(25, 30) for j in x]# print(type(y))# 创建画布fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(12, 8), dpi=80)axes[0].plot(x, y1, color='r', linestyle='--', label='Shanghai')axes[1].plot(x, y2, color='g', linestyle='-.', label='Beijing')# 分别对axes[0]和axes[1]进行之前操作z = range(-10, 45)x_label = ["10:{}".format(i) for i in x]for t in range(2):    # 设置步长    axes[t].set_xticks(x[::10])    axes[t].set_xticklabels(x_label[::10])    axes[t].set_yticks(z[::5])    # 添加图例    axes[t].legend(loc='lower left')    # 添加网格信息    axes[t].grid(linestyle='--', alpha=0.5, linewidth=2)    # 添加标题    axes[t].set_xlabel('Time/ min')    axes[t].set_ylabel('Temperature/ ℃')    axes[t].set_title('Curve of {} Temperature Change with Time'.format(area[t]))# 保存和展示plt.savefig('./plt_img/test3.png')plt.show()

4.曲线

 代码:

import matplotlib.pyplot as pltimport numpy as npimport random# 获取数据x = np.linspace(-1, 1, 1000)    # 在[-1, 1]间生成1000个数y = 2 * (x ** 2)# 创建画布plt.figure(figsize=(12, 8), dpi=80)  # figsize为横纵坐标比,dpi为像素点个数# 绘制曲线plt.plot(x, y)# 绘制图例# plt.legend()# 添加网格信息plt.grid(linestyle='--', alpha=0.5, linewidth=2)# 添加标题plt.xlabel('X')plt.ylabel('Y')# 保存和展示plt.savefig('./plt_img/test4.png')plt.show()

5.散点图

 代码:

import matplotlib.pyplot as pltimport numpy as npimport random# 散点图x = np.linspace(-1, 1, 10)y = 2 * (x ** 2)# 创建画布plt.figure(figsize=(12, 8), dpi=80)plt.scatter(x, y)# plt.legend()# 添加网格信息plt.grid(linestyle='--', alpha=0.5, linewidth=2)# 添加标题plt.xlabel('X')plt.ylabel('Y')# 保存和展示plt.savefig('./plt_img/test5.png')plt.show()

6.柱状图

 代码:

import matplotlib.pyplot as pltimport numpy as npimport random# 单柱状图x = range(6)# print(type(x))y = [random.uniform(0, 100) for i in x]# print(type(y))# 创建画布plt.figure(figsize=(8, 6), dpi=80)  # figsize为横纵坐标比,dpi为像素点个数# 绘制内容plt.bar(x, y, width=0.4, color=['r', 'k', 'y', 'g', 'b', 'c'], align='center')# 绘制图例# plt.legend()# 显示具体值for t in range(6):    plt.text(x=t-0.08, y=y[t]+1, s=int(y[t]))   # x,y为显示坐标,s为内容# 修改刻度plt.xticks(x, ['class1', 'class2', 'class3', 'class4', 'class5', 'class6'])# 添加网格信息plt.grid(linestyle='--', alpha=0.5, linewidth=2)# 添加标题plt.xlabel('Classes')plt.ylabel('Numbers')plt.title('Bar')# 保存和展示plt.savefig('./plt_img/test6.png')plt.show()

7.双柱状图

 代码:

import matplotlib.pyplot as pltimport numpy as npimport random# 双柱状图x = range(6)# print(type(x))y = [random.uniform(0, 100) for i in x]z = [random.uniform(0, 100) for j in x]# print(type(y))# 创建画布plt.figure(figsize=(8, 6), dpi=80)  # figsize为横纵坐标比,dpi为像素点个数# 绘制内容plt.bar(x, y, width=0.2, color='b', label='value1')# [i+0.2 for i in x]是对横坐标值的调整plt.bar([i+0.2 for i in x], z, width=0.2, color='g', label='value2')# 绘制图例plt.legend()# 显示具体值for t in range(6):    plt.text(x=t-0.08, y=y[t] + 1, s=int(y[t]))   # x,y为显示坐标,s为内容    plt.text(x=t+0.12, y=z[t] + 1, s=int(z[t]))  # x,y为显示坐标,s为内容# 修改刻度plt.xticks(x, ['class1', 'class2', 'class3', 'class4', 'class5', 'class6'])# 添加网格信息plt.grid(linestyle='--', alpha=0.5, linewidth=2)# 添加标题plt.xlabel('Classes')plt.ylabel('Numbers')plt.title('Bar')# 保存和展示plt.savefig('./plt_img/test7.png')plt.show()

 8.饼图

 代码:

import matplotlib.pyplot as pltimport numpy as npimport random# 饼图,一般小于9个类别# 数据和标签x = range(8)y = [random.uniform(0, 200) for i in x]label = ['class1', 'class2', 'class3', 'class4', 'class5', 'class6', 'class7', 'class8']# 画布plt.figure(figsize=(14, 8), dpi=80)# 饼图plt.pie(y, labels=label, colors=['r', 'gray', 'y', 'g', 'b', 'c', 'm', 'pink']        , autopct='%1.1f%%')    # autopct表示显示数字百分比# 图例plt.legend(loc='upper right')# 调整整体布局,防止图例和内容重叠plt.axis('equal')# 标题plt.title('the Number of Classes')# 展示plt.savefig('./plt_img/test8.png')plt.show()

感谢阅读!

来源地址:https://blog.csdn.net/qq_45542288/article/details/126280303

--结束END--

本文标题: Python中plt绘图包的基本使用方法

本文链接: https://www.lsjlt.com/news/386729.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中plt绘图包的基本使用方法
            在对数据进行处理和分析时,我们经常需要借助可视化工具,来将数据的一些特征以更易于我们理解的方式展现出来。在学习对Titanic - Machine Learning from Disaster | Kaggle的数据处理时,...
    99+
    2023-08-31
    python 开发语言
  • HTML5 Canvas绘图的基本使用方法有哪些
    这篇文章给大家分享的是有关HTML5 Canvas绘图的基本使用方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   Canvas 是H5的一部分,允许脚本语言动态渲染...
    99+
    2024-04-02
  • Python使用matplotlib.pyplot as plt绘图图层优先级问题
    前言: 在最近做多智能车的控制时,绘制障碍物的时候发现障碍物的图层被路面图层所覆盖,一时不知道怎么解决,其实在用matplotlib.pyplot 绘图的时候可以使用参数zorder...
    99+
    2024-04-02
  • Python怎么使用matplotlib.pyplot as plt绘图图层优先级
    这篇文章主要介绍“Python怎么使用matplotlib.pyplot as plt绘图图层优先级”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么使用matplo...
    99+
    2023-06-30
  • python的urllib2包基本使用方
    【另附】:python笔记系列1. urllib2.urlopen(request)url = "http://www.baidu.com" #url还可以是其他协议的路径,比如ftp values = {'name' : 'Michae...
    99+
    2023-01-31
    python
  • Python闭包的基本使用方法有哪些
    这篇文章主要介绍“Python闭包的基本使用方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python闭包的基本使用方法有哪些”文章能帮助大家解决问题。什么是闭包闭包(Closure)是一...
    99+
    2023-07-05
  • C#绘图基本方法有哪些
    今天小编给大家分享一下C#绘图基本方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、得到Graphics对象1.O...
    99+
    2023-07-04
  • Android Flutter利用CustomPaint绘制基本图形的方法
    今天小编给大家分享一下Android Flutter利用CustomPaint绘制基本图形的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2023-07-02
  • C#绘图基本方法实例总结
    目录一、得到Graphics对象1.OnPaint事件中使用2.其他情况实现二、关于Graphics的释放三、Pen 画笔1.Pen2.画笔属性四 Brush 画刷五 绘制文本1.F...
    99+
    2022-12-23
    C# 绘图 C#绘制图形 c#如何画图
  • Python绘图之turtle库的基础语法使用
    目录前言一、turtle库的导入二、绘图命令介绍1. 画布属性设置2. 画笔属性设置3.  移动画笔和转角绘图4.  图形绘制与图形填充三、turtle绘图实例:...
    99+
    2024-04-02
  • Python的turtle绘图库使用基础
    目录turtle绘图窗体布局绝对坐标:海龟坐标:绝对角度:RGB色彩体系turtle画笔控制函数turtle运动控制函数turtle方向控制函数其他:turtle常用函数库turtl...
    99+
    2023-05-17
    Python turtle Python绘图库 turtle绘图库
  • Python-基本图形绘制及库引用
    turtle库的使用 概述:turtle(海龟)库是turtle绘图体系的python实现 turtle库的理解: -有一只海龟,其实在窗体正中心,在画布上游走 -走过的轨迹形成了绘制的图形 -海龟由程序控制,可以变换颜色,改变宽度 tu...
    99+
    2023-01-30
    图形 Python
  • Python中如何使用Seaborn绘制基线图
    这篇文章给大家分享的是有关Python中如何使用Seaborn绘制基线图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。基线图本文中的脚本在python3.8.3中进行了测试。让我们使用Seaborn内置的peng...
    99+
    2023-06-26
  • 如何使用html5 Canvas绘制基本的图形
    这篇文章主要介绍“如何使用html5 Canvas绘制基本的图形”,在日常操作中,相信很多人在如何使用html5 Canvas绘制基本的图形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • python中Excel图表的绘制方法
    本篇内容主要讲解“python中Excel图表的绘制方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中Excel图表的绘制方法”吧!1、饼图将数据画成圆形切片,每个切片代表整个百分...
    99+
    2023-06-20
  • python中 @的含义以及基本使用方法
    目录一、表示修饰符。二、表示矩阵乘法。总结一、表示修饰符。 可以在模块或者类的定义层内对函数进行修饰。出现在函数定义的前一行,不允许和函数定义在同一行。 一个修饰符就是一个函数,它将...
    99+
    2024-04-02
  • Python之Pygame的Draw绘图方法怎么使用
    今天小编给大家分享一下Python之Pygame的Draw绘图方法怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Py...
    99+
    2023-07-05
  • python绘制直方图的方法
    本文实例为大家分享了python绘制直方图的具体代码,供大家参考,具体内容如下 用两列数据绘制直方图 #coding=gbk import xlwings as xw impor...
    99+
    2024-04-02
  • MyBatis中association的基本使用方法
    目录通过association对两表进行联表查询按照查询嵌套处理按照结果嵌套处理总结通过association对两表进行联表查询 student表属性如下 teacher表属性如下...
    99+
    2024-04-02
  • GoLang中Module的基本使用方法
    目录前言1、开启go module2、用goland打开项目(1)设置镜像地址(2)导入Gin包检查go module是否使用正常(3)使用Gin(4)执行、发送请求3、go mod...
    99+
    2023-01-09
    go module实现原理 go module使用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作