机器学习之matplotlib学习

matplotlib库学习

  • matplotlib库的介绍
    • 折线图的绘制
      • 导入excel表数据绘制折线图
    • 柱状图的绘制
    • 散点图的绘制
    • 扇形图的绘制
    • 总结

matplotlib库的介绍

折线图的绘制

绘制折线图使用plot函数进行绘制
第一个参数为x 横坐标,第二个参数为y纵坐标,第三个参数为线的颜色和类型,第四个参数是线的标签
绘制完成之后使用show函数,将图形展示出来

简单的折线图演示

#绘制折线图
x = [1, 2, 3, 4, 5]
y = [10, 23, 90, 12, 89]

plt.plot(x, y)
plt.show()

较为全面的折线图演示

import matplotlib.pyplot as plt  #导入库

#绘制折线图
x = [1, 2, 3, 4, 5]
y = [10, 23, 90, 12, 89]


plt.plot(x, y, "rs--", label="测试样例1")

x1 = [1, 2, 3, 4, 5]
y2 = [100, 230, 900, 120, 890]

#字体的设置
#可选粗细有 ['light','normal','medium','semibold','bold','heavy','black']
#可选样式 ['normal','italic','oblique']

#此处为全局设置字体
# 汉字字体,优先使用楷体,找不到则使用黑体
plt.rcParams['font.sans-serif'] = ['Kaitt', 'SimHei']
# 正常显示负号
plt.rcParams['axes.unicode_minus'] = False

font1 = {'family': 'SimSun', 'weight': 'normal', 'size': 10}

#标签的设置,第三个参数可设置字体,这里采用字体全局设置了,所以不需要
plt.title("测试数据")
plt.xlabel("横坐标")
plt.ylabel("纵坐标")

#g-代表绿色,r代表红色,--代表线段
# s , d 代表形状,这里用的s

plt.plot(x1, y2, "gs--", label="测试样例2")

plt.legend()  #显示图例、

plt.show()

在这里插入图片描述

导入excel表数据绘制折线图

import matplotlib.pyplot as plt
import pandas as pd

fm = pd.read_excel(r"C:\Users\惊艳了时光\Desktop\销售额表.xlsx")

#字体格式的设置
plt.rcParams['font.sans-serif'] = ['Kaitt', 'SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = fm["月份"]
y = fm["销售额"]

# 绘制折线图
plt.plot(x, y,"gd--")

# 添加并设置图表标题、X轴标题、Y轴标题
plt.title(label = '各月销售额对比图', fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size' : 15}, loc = 'center')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 15}, labelpad = 5)
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 15}, labelpad = 5)

# 添加并设置数据标签
for a, b in zip(x, y):
    plt.text(a, b, b, fontdict={'family': 'KaiTi', 'color': 'red', 'size': 12})
plt.show()  # 显示绘制的图表

在这里插入图片描述

柱状图的绘制

import matplotlib.pyplot as plt
import pandas as pd

fm = pd.read_excel(r"C:\Users\惊艳了时光\Desktop\销售额表.xlsx")

#字体格式的设置
plt.rcParams['font.sans-serif'] = ['Kaitt', 'SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = fm["月份"]
y = fm["销售额"]

# 绘制柱形图
plt.bar(x, y, color='blue', label = '销售额')

# 添加并设置图表标题、X轴标题、Y轴标题
plt.title(label = '各月销售额对比图', fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size' : 15}, loc = 'center')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 15}, labelpad = 5)
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 15}, labelpad = 5)

# 添加并设置数据标签
for a, b in zip(x, y):
    plt.text(a, b, b, fontdict={'family': 'KaiTi', 'color': 'red', 'size': 11}, horizontalalignment = "center")
plt.show()  # 显示绘制的图表

在这里插入图片描述

散点图的绘制

import matplotlib.pyplot as plt
import pandas as pd

fm = pd.read_excel(r"C:\Users\惊艳了时光\Desktop\销售额表.xlsx")

#字体格式的设置
plt.rcParams['font.sans-serif'] = ['Kaitt', 'SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = fm["月份"]
y = fm["销售额"]

# 绘制散点图
plt.scatter(x, y, s=130, color='red', marker='*', label = '销售额')    # 制作散点图

# 添加并设置图表标题、X轴标题、Y轴标题
plt.title(label = '各月销售额对比图', fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size' : 15}, loc = 'center')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 15}, labelpad = 5)
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 15}, labelpad = 5)

# 添加并设置数据标签
for a, b in zip(x, y):
    plt.text(a, b, b, fontdict={'family': 'KaiTi', 'color': 'blue', 'size': 10}, horizontalalignment = "left")
plt.show()  # 显示绘制的图表



在这里插入图片描述

扇形图的绘制

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'simhei'
data = [100, 300, 100, 200]
label = ['重', '色', '轻', '友']
plt.pie(data, labels = label, autopct='%.2f%%')
plt.title('重、色、轻、友占比情况')
plt.show()

在这里插入图片描述

总结

从代码上看,散点图,柱形图以及折线图的代码基本一样,就各个画的图形那段代码不一样
散点图:plt.scatter()
折线图:plt.plot()
柱形图:plt.bar()
至于其他装饰的函数的细节部分,不清楚的,可详细查查该函数的用法和参数,因为函数以及函数的参数太多,我这就没一一列举

至于扇形图的话:plt.pie()
区别于前三种,前三种需要x,y,扇形图就需要数据就行了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/343341.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux的kali安装,换源,更新包

下载kali kali.org进入官网后点第二个 然后点第一个 解压kali 下载后获得.7z压缩包,建议移动到合适自己电脑的位置进行解压,我喜欢放在D盘 启动kali 双击进入解压出的文件夹,将唯一一个.vmx文件用vmware打开(没装的自行提前装…

关于使用jdk8自带的日期类getDayOfWeek()的详细解释

问题引入 我们会发现getDayOfWeek()这个函数和其他自带函数不一样 直接写会报错 但是如果我们将他变成getDayOfWeek().getValue() 又能够正常运行,我们这次就来看看是为什么 解释 进入getDayOfWeek()源码查看 我们进入getDayOfWeek()的源码中查看 我们可以发现他给我们返回的…

Android 内存优化 内存泄漏

内存抖动 内存抖动是由于短时间内有大量对象进出新生区导致的,内存忽高忽低,有短时间内快速上升和下落的趋势,分析图呈锯齿状。 它伴随着频繁的GC,GC 会大量占用 UI 线程和CPU 资源,会导致APP 整体卡顿,甚…

Linux下用树莓派DS18B20温度传感器读取温度并上传至服务端

目录 一、DS18B20温度传感器 二、逻辑分析 三、实战操作 1、服务端 2、客户端 3、运行结果 一、DS18B20温度传感器 DS18B20是比较常用到的温度传感器,采用单总线控制。是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。关于该温度传感…

Spring为啥不推荐使用@Autowired注解?

引言 使用IDEA开发时,同组小伙伴都喜欢用Autowired注入,代码一片warning,看着很不舒服,Autowired作为Spring的亲儿子,为啥在IDEA中提示了一个警告:Field injection is not recommended 想搞清楚这个问题之…

Unity3d C#实现三维场景中图标根据相机距离动态缩放功能

前言 如题的需求,其实可以通过使用UI替代场景中的图标来实现,不过这样UI的处理稍微麻烦,而且需要在图标上添加粒子特效使用SpriteRender更方便快捷。这里就根据相机离图标的位置来计算图标的缩放大小即可。这样基本保持了图标的大小&#xf…

【51单片机】IO 扩展(串转并)--74HC595

0、前言 参考: 普中 51 单片机开发攻略 第12章 【51单片机入门教程-2020版 程序全程纯手打 从零开始入门】 https://www.bilibili.com/video/BV1Mb411e7re/?p21&share_sourcecopy_web&vd_source77e36f24add8dc77c362748ffb980148 nop()是什么语句&#…

LLM:RoPE - 开源代码中的实现 (下)

本文着重学习一下开源代码中关于RoPE的实现:ChatGLM-6B、ChatGLM2-6B、LLAMA 回顾一下RoPE位置编码: 1:对于 token 序列中的每个词嵌入向量,首先计算其对应的 query 和 key 向量 2:然后对每个 token 位置都计算对应的旋转位置编码 3:接着对每个 token 位置的 query 和 …

防御保护---信息安全概述

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 本章要求 了解信息安全的基本内容了解信息安全的脆弱性及安全攻击了解信息安全要素及整体安全解决方案 一.信息安全概述 信息安全概述 信息安全是指保护信息免受未经授权的访问、使用、披露、…

简单但全面了解一下webSocket

文章目录 webSocket是一种协议,设计用于提供低延迟、双全工和长期运行的连接什么是实时通信? webSocket之前的世界webSocket的优势为什么需要心跳机制?webSocket的限制 webSocket是一种协议,设计用于提供低延迟、双全工和长期运行…

宠物互联网医院系统

在数字时代,宠物医疗迎来了一场革新,动物互联网医院系统以其先进的技术和智能的特性成为宠物护理的领军者。本文将介绍宠物互联网医院系统的一些关键技术和代码示例,揭示这一科技奇迹的实现原理。 1. 远程医疗服务的实现 远程医疗服务是宠…

Neos的渗透测试靶机练习——DarkHole-2

DarkHole-2 一、实验环境二、开始渗透1. 搜集信息2. git文件泄露3. SQL注入4. 提权 三、总结 一、实验环境 虚拟机软件:VirtualBox 攻击机:kali linux(网卡初始为仅主机模式,要有安全意识) 靶机:DarkHole-…

IMX6ULL|input子系统(按键实验)

一.input子系统 input子系统是Linux对输入设备提供的统一驱动框架。如按键、键盘、触摸屏和鼠标等输入设备的驱动方式是类似的,当出现按键、触摸等操作时,硬件产生中断,然后CPU直接读取引脚电平,或通过SPI、I2C等通讯方式从设备的…

C#,入门教程(35)——哈希表(Hashtable)的基础知识与用法

上一篇: C#,入门教程(34)——关于函数的参数之引用(ref)的一点知识与源程序https://blog.csdn.net/beijinghorn/article/details/125411351 有一段故事: King Log The frogs in the lake had an easy life doing ex…

npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED

npm install时报错code CERT_HAS_EXPIRED 一、报错情况二、解决方案 一、报错情况 一直用的好好的,突然今天发现npm install 出问题了,具体报错如下: npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to…

不要为了学习而学习

经常有朋友问我: 老师,从您这里学了很多方法,也一直想要改变自己,但总是没办法坚持下去,怎么办? 这个问题,我也很无奈啊。毕竟我也没办法飞到你身边,手把手把每一步都教给你。&…

MySQL-B-tree和B+tree区别

B-tree(平衡树)和Btree(平衡树的一种变种)是两种常见的树状数据结构,用于构建索引以提高数据库的查询性能。它们在一些方面有相似之处,但也有一些关键的区别。以下是B-tree和Btree的主要区别: …

你知道Mysql的架构吗?

msyql分为server曾和存储引擎层 server层包括了连接器(管理连接,权限验证)、查询缓存(命中直接返回结果)、分析器(词法分析,语法分析)、优化器(执行计划生成,索引选择)、…

【揭秘】ScheduledThreadPoolExecutor全面解析

内容摘要 ScheduledThreadPoolExecutor能够高效地管理和复用线程资源,避免了大量线程的创建和销毁开销,从而提升了系统性能,同时,它提供了灵活的任务调度机制,支持延迟执行和固定频率执行,满足了各种复杂场…

idea创建公用依赖包项目

创建parent项目 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/…