第二十四天-数据可视化Matplotlib

目录

1.介绍

2.使用

1. 安装:

2.创建简单图表

 3.图表类型

1.一共分为7类

2.变化

1.折线图

3.分布

​编辑

1.直方图

2.箱型图

4.关联

1. 散点图:

2.热力图:

5.组成

1.饼图

2.条形图

6.分组

1.簇型散点图

2.分组条形图

3.分组条形图不覆盖

7.偏差

1.发散条形图

2.面积图

8.排序


1.介绍

1. 数据可视化相关库

2.Matplotlib

1. 官网:http://matplotlib.org 

2.中文网:http://matplotlib.org.cn

2.使用

1. 安装:

pip install matplotlib

import matplotlib.pyplot as plt

2.创建简单图表

# 创建画板, 2行1列的图表 sharex:共享x轴,sharey:共享y轴
fig, axs = plt.subplots(2, 1)# 生成数据
data = np.random.randn(100)# 选取第一个画布,填充数据
axs[0].hist(data, bins=50, color="red")
axs[1].plot(data, color="red")#参数设置
#设置标题
axs[0].set_title("chart1")
axs[1].set_title("chart2")
#设置x轴y轴名称
axs[0].set_xlabel("value")
axs[0].set_ylabel("freq")
axs[1].set_xlabel("index")
axs[1].set_ylabel("value")#设置间距,避免名称重叠
fig.tight_layout()plt.show()

 3.图表类型

1.一共分为7类

2.变化

1.折线图

   

# coding:utf-8import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import pandas as pd# 设置显示中文mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据
datas = pd.date_range("2018-01-01", "2021-01-01", freq="M")def get_price(size):return np.cumsum(np.random.randn(size))price = [get_price(datas.size), get_price(datas.size), get_price(datas.size)]
data = pd.DataFrame(price).Tdata.index = datas#填充顔色,设置面积图
for p in price:plt.fill_between(datas, y1=p)# 折线图
plt.plot(data)# 设置x轴lable为斜线
fig.autofmt_xdate()# 设置x,y轴坐标标签
ax.set_title("折线图")
fig.tight_layout()plt.show()

3.分布

1.直方图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npmpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig,ax=plt.subplots(1,1)#模拟数据,5行5列数据
data=np.round(np.random.random(25).reshape(5,5),1)
#直方图
plt.hist(data)#设置x,y轴坐标标签
ax.set_title("产品级别图")
#明确设置x,y轴数量fig.tight_layout()plt.show()

2.箱型图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npmpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig,ax=plt.subplots(1,1)#模拟数据,5行5列数据
data=np.round(np.random.random(25).reshape(5,5),1)
#直方图
plt.boxplot(data)#设置x,y轴坐标标签
ax.set_title("箱型图")
#明确设置x,y轴数量fig.tight_layout()plt.show()

4.关联

使用:

1. 散点图:

坐标轴为数值型数据

import matplotlib.pyplot as plt
import numpy as np
#绘制散点图x = np.random.randn(100)
y = np.random.randn(100)*1.5
plt.scatter(x=x,y=y,color="red",marker="+")
#限制x、y轴显示范围
plt.xlim(-2,2)
plt.ylim(-2,2)#显示网格
plt.grid()plt.show()

2.热力图:

类别型数据,体现的是2组变量的关联性

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npmpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig,ax=plt.subplots(1,1)
# 绘制热力图
# 定义x轴,y轴内容
# x轴为 等级
x_lable = ["1级", "2级", "3级", "4级", "5级"]
# y轴为 产品
y_lable = ["产品1", "产品2", "产品3", "产品4", "产品5"]
#模拟数据,5行5列数据
data=np.round(np.random.random(25).reshape(5,5),1)
#热点图
plt.imshow(data)#轮流锁定单元格,设置单元格文字
for i in  np.arange(len(x_lable)):for j in np.arange(len(y_lable)):plt.text(i,j,data[i][j],color="w",ha="center",va="center")#设置x,y轴坐标标签
ax.set_title("产品级别图")
#明确设置x,y轴数量
ax.set_xticks(np.arange(len(x_lable)))
ax.set_yticks(np.arange(len(y_lable)))
ax.set_xticklabels(x_lable)
ax.set_yticklabels(y_lable)fig.tight_layout()plt.show()

5.组成

1.饼图
# coding:utf-8import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import pandas as pd# 设置显示中文mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据
data = [0.1, 0.2, 0.3, 0.4]#绘制饼图,labels为每一项的名称 explode:突出值 autopct:格式化百分比, textprops字体格式
plt.pie(data,labels=["a","b","c","d"],explode=[0,0.2,0,0],autopct="%.1f%%",shadow=True,textprops={"size":"small"})# 设置x轴lable为斜线
fig.autofmt_xdate()# 设置x,y轴坐标标签
ax.set_title("折线图")
fig.tight_layout()plt.show()

2.条形图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import pandas as pd# 设置显示中文mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据
data = [0.1, 0.2, 0.3, 0.4]
labels = ["a", "b", "c", "d"]
# 绘制条形图  color:设置条形颜色
plt.bar(labels, data, color=["r", "y", "b", "g"])# 显示条形上的文字
for x, y in zip(labels, data):plt.text(x, (y / 2), y)
# 设置x轴lable为斜线
fig.autofmt_xdate()# 设置x,y轴坐标标签
ax.set_title("条形图")
fig.tight_layout()plt.show()

6.分组

1.簇型散点图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import pandas as pd# 设置显示中文mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据
a_x=np.random.random(100)+1
a_y=np.random.random(100)+1.5
a_x1=np.random.random(200)+2.1
a_y1=np.random.random(200)+1.7#绘制散点图分组
plt.scatter(a_x,a_y)
plt.scatter(a_x1,a_y1)
# 设置x轴lable为斜线
fig.autofmt_xdate()fig.tight_layout()plt.show()

2.分组条形图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import pandas as pd# 设置显示中文mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据
x=["a","b","c","d"]
y1=[1,2,3,4]
y2=[4,3,2,1]
#绘制图形
plt.bar(x,y1)
plt.bar(x,y2)fig.autofmt_xdate()fig.tight_layout()plt.show()

3.分组条形图不覆盖
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import pandas as pd# 设置显示中文mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据axis1=[1,2,3,4]
axis2=[1.2,2.2,3.2,4.2]y1=[1,2,3,4]y2=[4,3,2,1]
#绘制图形
plt.bar(axis1,y1,width=0.2)
plt.bar(axis2,y2,width=0.2)fig.autofmt_xdate()fig.tight_layout()plt.show()

7.偏差

1.发散条形图
# coding:utf-8import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import pandas as pd# 设置显示中文mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据
#绘制
y=["a","b","c","d"]
data=[-1,2,0.5,4]
data.sort()
plt.hlines(y=y,xmin=0,xmax=data,colors=["r","b","y","g"])
#设置网格
plt.grid(linestyle="--",alpha=0.5)
# 设置x轴lable为斜线
fig.autofmt_xdate()fig.tight_layout()plt.show()

2.面积图
mpl.rcParams["font.family"] = "FangSong"  # 设置字体
mpl.rcParams["axes.unicode_minus"] = False  # 正常显示负号fig, ax = plt.subplots(1, 1)# 模拟数据
#绘制
datas = pd.date_range("2018-01-01", "2021-01-01", freq="M")def get_price(size):return np.cumsum(np.random.randn(size))price ={"price":get_price(datas.size)}pd=pd.DataFrame(index=datas,data=price)plt.plot(pd["price"])
#填充面积颜色
plt.fill_between(pd.index,pd["price"],0)# 设置x轴lable为斜线
fig.autofmt_xdate()fig.tight_layout()

8.排序

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【人工智能】英文学习材料(每日一句)

#学习笔记# 目录 1.Natural Language Processing,NLP(自然语言处理) 2.Machine Learing,ML(机器学习) 3.Neural Networks(神经网络) 4.Deep Learing(深度学习&#…

基于CNN多阶段图像超分+去噪(超级简单版)

这是之前的一项工作,非常简单,简单的复现了两个算法,然后把它们串起来了。 可执行的程序链接:CSDN; Github 我们分成两部分进行讲解: 1. 图像去噪 1.1 基本思路 图像的去噪工作基于很普通的CNN去噪,效…

前端学习之css选择器--基本选择器、关系选择器、属性选择器、复合选择器、伪类选择器

目录 基本选择器 结果 关系选择器 结果 父子关系 祖先后代关系 相邻兄弟关系 兄弟关系 ​编辑 属性选择器 结果 复合选择器 结果 伪类选择器 结果 伪类选择器-操作标签 结果 未访问 访问后 悬停 基本选择器 <!DOCTYPE html> <html lang"en"…

flowable快速开始

目录 创建用户并分配权限画流程图发布应用程序运行流程文档资料 创建用户并分配权限 创建两个用户 zhangsan和lisi 用于工作流的审批&#xff0c;流程如图 创建用户 分配权限&#xff0c;用于审批工作流 画流程图 点击“创建流程” 开始画图 给人事审批分配 zhangsan…

C++之类和对象(3)

目录 1. 再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表 1.3 explicit 2. static成员 2.1 概念 3. 友元 3.1 友元函数 3.2 友元类 4. 内部类 5. 匿名对象 6. 拷贝对象时编译器做出的优化 1. 再谈构造函数 1.1 构造函数体赋值 class Date { public:Date(int year2024…

Linux第78步_使用原子整型操作来实现“互斥访问”共享资源

使用原子操作来实现“互斥访问”LED灯设备&#xff0c;目的是每次只允许一个应用程序使用LED灯。 1、创建MyAtomicLED目录 输入“cd /home/zgq/linux/Linux_Drivers/回车” 切换到“/home/zgq/linux/Linux_Drivers/”目录 输入“mkdir MyAtomicLED回车”&#xff0c;创建MyA…

Android分区存储到底是怎么回事

文章目录 一、Android存储结构二、什么是分区存储&#xff1f;三、私有目录和公有目录三、存储权限和分区存储有什么关系&#xff1f;四、我们应该该怎么做适配&#xff1f;4.1、利用File进行操作4.2、使用MediaStore操作数据库 一、Android存储结构 Android存储分为内部存储和…

C语言 1000内完数、素数判断

一、一个数如果恰好等于它的因子之和&#xff0c;这个数就称为“完数”。例如&#xff0c;6旳因子为1&#xff0c;2&#xff0c;3&#xff0c;而6123&#xff0c;因此6是“完数”。编程序找出1000以内的所有“完数”&#xff0c;并按照下面格式输出其因子&#xff1a;6 its fac…

java组合模式揭秘:如何构建可扩展的树形结构

组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将对象组合成树形结构以表示整体/部分层次结构。组合模式使得客户端可以统一对待单个对象和组合对象&#xff0c;从而使得客户端可以处理更复杂的结构。 组合模式的主要组成部分包括&…

MLP-RF随机森林回归预测(matlab代码)

MLP-RF随机森林回归预测matlab代码 数据为Excel股票预测数据。 数据集划分为训练集、验证集、测试集,比例为8&#xff1a;1&#xff1a;1 模块化结构: 代码将整个流程模块化&#xff0c;使得代码更易于理解和维护。不同功能的代码块被组织成函数或者独立的模块&#xff0c;使…

copilot 很抱歉,目前无法连接到服务。请稍后重试或刷新

一、copilot的优势 微软copilot 在gpt-3基础上又加了很多新功能&#xff0c;输入进行了扩展&#xff0c;包含了语音、图片输入等&#xff0c;输出也更加丰富&#xff0c;包含了信息源、超链接、关键词提取等。最重要的是可以获得最新的消息。这个工具是学习路上的一大利器&…

一起学数据分析_3(模型建立与评估_1)

使用前面清洗好的数据来建立模型。使用自变量数据来预测是否存活&#xff08;因变量&#xff09;&#xff1f; &#xff08;根据问题特征&#xff0c;选择合适的算法&#xff09;算法选择路径&#xff1a; 1.切割训练集与测试集 import pandas as pd import numpy as np impo…

html编辑器

HTML 编辑器推荐 html可以使用记事本编辑 但是更建议使用专业的 HTML 编辑器来编辑 HTML&#xff0c;我在这里给大家推荐几款常用的编辑器&#xff1a; VS Code&#xff1a;https://code.visualstudio.com/WebStorm: https://www.jetbrains.com/webstorm/Notepad: https://no…

Java Web项目—餐饮管理系统Day06-套餐管理(一)

文章目录 1. 需求分析与实体类准备2. 依据菜品分类或者名字进行查询的请求(需求B)3. 新增套餐 1. 需求分析与实体类准备 如上图为新增套餐的界面, 它包含了套餐的一些基本信息, 例如名称、价格等, 同时还有套餐分类(因此这里需要一个查询所有套餐分类的请求处理方法, 需求A). 以…

武汉灰京文化:直播游戏新时代的游戏宣传方式

随着互联网和科技的迅速发展&#xff0c;游戏产业也日益繁荣。传统的游戏宣传方式逐渐显现出一些不足&#xff0c;传统的广告渠道和媒体报道在一定程度上已经不能满足游戏行业的需求。然而&#xff0c;随着直播平台的兴起&#xff0c;直播游戏成为了一种新的游戏宣传方式&#…

【JAVA基础】算法与集合

1 查找 1.1 二分查找 public class Main {public static void main(String[] args) throws IOException, CloneNotSupportedException, ParseException { //数组必须有序int[] arr{1,2,4,5,6,24,123};System.out.println(binarySearch(arr,123));//6}public static int bina…

Python深度学习之路:TensorFlow与PyTorch对比【第140篇—Python实现】

Python深度学习之路&#xff1a;TensorFlow与PyTorch对比 在深度学习领域&#xff0c;TensorFlow和PyTorch是两个备受青睐的框架&#xff0c;它们为开发人员提供了强大的工具来构建和训练神经网络模型。本文将对这两个框架进行对比&#xff0c;探讨它们的优势和劣势&#xff0…

Linux_网络项目_WEB服务器 处理服务器写入失败后sigpipe信号导致服务器崩溃退出问题,引入线程池缓解大量请求,服务器组件化重构,在线计算机业务测试

文章目录 1. 处理服务器写入管道出错2. 引入线程池缓解大量请求导致服务器崩溃设计线程任务类单例线程池组件设计 3.代码位置4. 在线计算机业务运行截图 1. 处理服务器写入管道出错 经过测试&#xff0c;服务器在读取报文时如果出错可以选择直接关闭这个TCP里链接来节省资源。…

langchain+chatglm3+BGE+Faiss Linux环境安装依赖

前言 本篇默认读者已经看过之前windows版本&#xff0c;代码就不赘述&#xff0c;本次讲述是linux环境配置 超短代码实现&#xff01;&#xff01;基于langchainchatglm3BGEFaiss创建拥有自己知识库的大语言模型(准智能体)本人python版本3.11.0&#xff08;windows环境篇&…

Find My游戏机|苹果Find My技术与游戏机结合,智能防丢,全球定位

游戏机&#xff0c;又名电子游乐器是使用游戏软件进行玩乐的机器。依照进行游戏的方式的不同&#xff0c;又分为家用游戏机及掌上游戏机。游戏机也可以说是属于电脑的一种&#xff0c;电子游戏机针对影像、音效与操作机能进行特别的强化&#xff0c;也有各种的软件和硬件可供安…