人工智能(三)matplotlib

举报
布小禅 发表于 2021/09/28 21:42:33 2021/09/28
【摘要】 matplotlib快速入门

三、matplotlib快速入门

第七阶段

matplotlib是一个将数据可视化的模块。

什么你连什么是数据可视化都不知道是什么?

高中学的函数(可别跟Python中的函数搞混了)知道吧,把函数的图像画出来,就是数据可视化了

matplotlib是一个数据可视化的标准库,与numpy模块,pandas模块都很适用。

它能够绘制多种形式的图像,包括:

  • 折线图 —— plot ()
  • 散点图 —— scatter ()
  • 饼状图 —— pie ()
  • 柱状图 —— bar ()
  • 雷达图 —— polar ()
  • 三维图 —— mplot3d

3.1 基础理论

作图,我们需要有数据,坐标轴标签,标题,坐标轴刻度等属性。

  1. 数据可以使用numpy生成一维列表,在数学中也叫向量。

  2. 坐标轴标签由xlabel(),ylabel()方法(函数)设置

  3. 标题由title()方法(函数)设置

  4. 坐标轴刻度可以使用xticks (),yticks ()方法(函数)设置

3.2 绘制折线图

导入模块:

import numpy as np
# numpy用于生成数据
import matplotlib.pyplot as plt 
# 使用matplotlib中的pyplot模块进行绘图

生成x轴,y轴数据:

x = np.arange(0,6,0.1) # x轴数据
y = np.sin(x) # y轴数据

绘制图案:

plt.plot(x,y,label="sin")
# 以x为x轴数据,y为y轴数据,绘制折线图,并设置线上的标签为sin

设置标题等属性:

plt.xlabel("number")  # x轴标签
plt.ylabel("sin")  # y轴标签
plt.title("sin fun")   # 图像标题

使图像显示出来:

plt.show()  # 显示图像

图像显示效果:

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

3.3 绘制散点图

将代码绘制图像的plt.plot()修改成plt.scatter()

全部代码:

import numpy as np
# numpy用于生成数据
import matplotlib.pyplot as plt

# 使用matplotlib中的pyplot模块进行绘图

x = np.arange(0, 6, 0.1)  # x轴数据
y = np.sin(x)  # y轴数据
plt.scatter(x, y, label="sin")
# 以x为x轴数据,y为y轴数据,绘制折线图,并设置线上的标签为sin
plt.xlabel("number")  # x轴标签
plt.ylabel("sin")  # y轴标签
plt.title("sin fun")  # 图像标题
plt.show()  # 显示图像
在这里插入图片描述在这里插入图片描述

3.4 绘制饼状图

绘制一个编程语言的饼状图,数据随便写的,不要当真,还有一点,默认不支持中文

先导入模块

import numpy as np
# numpy用于生成数据
import matplotlib.pyplot as plt
# 使用matplotlib中的pyplot模块进行绘图

创建数据:

student_souce = np.array([25, 35, 45, 60])

绘制图案:

plt.pie(student_souce, labels=["C", "Python", "Java", "C+++"], autopct='%.2f%%')
# 设置student_souce为数据,每个数据的名字为labels的参数,并格式化输出各个所占百分比

设置标题与显示图像:

plt.title("Test")  # 图像标题
plt.show()  # 显示图像

完整代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Smly
# @datetime: 2021/9/28 12:56 
# @Version: 1.0
import numpy as np
# numpy用于生成数据
import matplotlib.pyplot as plt
# 使用matplotlib中的pyplot模块进行绘图

student_souce = np.array([25, 35, 45, 60])
plt.pie(student_souce, labels=["C", "Python", "Java", "C+++"], autopct='%.2f%%')
# 设置student_souce为数据,每个数据的名字为labels的参数,并格式化输出各个所占百分比
plt.title("Test")  # 图像标题
plt.show()  # 显示图像

运行结果:

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

3.5 绘制柱状图

先生成数据,然后再绘制图像

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Smly
# @datetime: 2021/9/28 13:02 
# @Version: 1.0

import numpy as np
# numpy用于生成数据
import matplotlib.pyplot as plt
# 使用matplotlib中的pyplot模块进行绘图

x = np.arange(0, 6)  # x轴数据
plt.bar(x, x)
# 以x为x轴数据,x为柱体高度,绘制柱状图
plt.xlabel("number")  # x轴标签
plt.ylabel("sin")  # y轴标签
plt.title("sin fun")  # 图像标题
plt.show()  # 显示图像

运行结果:

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

3.6 图添加网格线

使用gird()方法(函数)来设置网格线

函数参数:

  • b:可选,默认为 None,可以设置布尔值,true 为显示网格线,false 为不显示,如果设置 **kwargs 参数,则值为 true。
  • which:可选,可选值有 'major'、'minor' 和 'both',默认为 'major',表示应用更改的网格线。
  • axis:可选,设置显示哪个方向的网格线,可以是取 'both'(默认),'x' 或 'y',分别表示两个方向,x 轴方向或 y 轴方向。
  • **kwargs:可选,设置网格样式,可以是 color='r', linestyle='-' 和 linewidth=2,分别表示网格线的颜色,样式和宽度。

具体效果就自己往上面的代码里面的plt.show()上面添加一个plt.gird()

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。