Python数据可视化(二)使用统计函数绘制简单图形

news2024/10/7 16:23:08

该文会讲解一些大家比较熟悉却又经常混淆的统计图形,掌握这些统计图形可以对数据可视化有一个深入理解,并正确使用。

2.1 函数 bar()——用于绘制柱状图

函数功能:在 x 轴上绘制定性数据的分布特征。

调用签名:plt.bar(x,y)。

参数说明

x:标示在 x 轴上的定性数据的类别。

y:每种定性数据的类别的数量。

调用展示

(1)代码实现

# 使用的代码都是coding:utf-8的
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]
# create bar
plt.bar(x,y,align="center",color="r",tick_label=["A","B","C","D","E","F"
,"G","H"],hatch="\/")
# set x,y_axis label
plt.xlabel("箱子编号")
plt.ylabel("箱子重量(kg)")
plt.show()

(2)运行结果如图

2.2 函数 barh()——用于绘制条形图

函数功能:在 y 轴上绘制定性数据的分布特征。

调用签名:plt.barh(x,y)。

参数说明

x:标示在 y 轴上的定型数据的类别。

y:每种定性数据的类别的数量。

调用展示

(1)代码实现

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]
# create bar
plt.barh(x,y,align="center",color="r",tick_label=["q","a","c","e","r","j","b","P"],hatch="\/")
# 建立XY轴标签
plt.xlabel("箱子重量(kg)")
plt.ylabel("箱子编号")
plt.show()

(2)运行结果如图

2.3 函数 hist()——用于绘制直方图

函数功能:在 x 轴上绘制定量数据的分布特征。

调用签名:plt.hist(x)。

参数说明

x:在 x 轴上绘制箱体的定量数据输入值。

调用展示

(1)代码实现

# -*- coding:utf-8 -*-
import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
import matplotlib.pyplot as plt
import numpy as np
# set test scores
boxWeight = np.random.randint(1,10,100) # 箱子的重量
x = boxWeight
# plot histogram
bins = range(0,11,1)
plt.hist(x,bins=bins,
color="r",
histtype="bar",
rwidth=1,
alpha=0.6)
# set x,y-axis label
plt.xlabel("箱子重量(kg)")
plt.ylabel("销售数量(个)")
plt.show()

(2)运行结果如图

2.4 函数 pie()——用于绘制饼图

函数功能:绘制定性数据的不同类别的百分比。

调用签名:plt.pie(x)。

参数说明

x:定性数据的不同类别的百分比。

调用展示

(1)代码实现

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
kinds = "a","b","c","d"
colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3"]
soldNums = [0.05,0.45,0.15,0.35]
#pie chart
plt.pie(soldNums,
labels=kinds,
autopct="%3.1f%%",
startangle=60,
colors=colors)
plt.title("abcd")
plt.show()

(2)运行结果如图

2.5 函数 polar()——用于绘制极线图

函数功能:在极坐标轴上绘制折线图。

调用签名:plt.polar(theta,r)。

参数说明

theta:每个标记所在射线与极径的夹角。

r:每个标记到原点的距离。

调用展示

(1)代码实现

import matplotlib.pyplot as plt
import numpy as np
barSlices = 12
theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)
r = 30*np.random.rand(barSlices)
plt.polar(theta,r,
color="chartreuse",
linewidth=2,
marker="*",
mfc="r",
ms=12)
plt.show()

(2)运行结果如图

2.6 函数 scatter()——用于绘制气泡图

函数功能:二维数据借助气泡大小展示三维数据。

调用签名:plt.scatter(x,y)。

参数说明

x:x 轴上的数值。

y:y 轴上的数值。

s:散点标记的大小。

c:散点标记的颜色。

cmap:将浮点数映射成颜色的颜色映射表。

调用展示

(1)代码实现

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
a = np.random.randn(100)
b = np.random.randn(100)
# colormap:RdYlBu
plt.scatter(a,b,s=np.power(10*a+20*b,2),
c=np.random.rand(100),
cmap=mpl.cm.RdYlBu,
marker="o")
plt.show()

(2)运行结果如图

2.7 函数 stem()——用于绘制棉棒图

函数功能:绘制离散有序数据。

调用签名:plt.stem(x,y)。

参数说明

x:指定棉棒的 x 轴基线上的位置。

y:绘制棉棒的长度。

linefmt:棉棒的样式。

markerfmt:棉棒末端的样式。

basefmt:指定基线的样式。

调用展示

(1)代码实现

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.5,3*np.pi,25)
y = np.random.randn(25)
plt.stem(x,y,linefmt=".-",markerfmt="o",basefmt="-")
plt.show()

(2)运行结果如图

2.8 函数 boxplot()——用于绘制箱线图

函数功能:绘制箱线图。

调用签名:plt.boxplot(x)。

参数说明

x:绘制箱线图的输入数据。

调用展示

(1)代码实现

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["FangSong"]
mpl.rcParams["axes.unicode_minus"]=False
x = np.random.randn(1000)
plt.boxplot(x)
plt.xticks([1],["随机数生成器 AlphaRM"])
plt.ylabel("随机数值")
plt.title("随机数生成器抗干扰能力的稳定性")
plt.grid(axis="y",ls=":",lw=1,color="r",alpha=0.4)
plt.show()

(2)运行结果如图

2.9 函数 errorbar()——用于绘制误差棒图

函数功能:绘制 y 轴方向或是 x 轴方向的误差范围。

调用签名:plt.errorbar(x,y,yerr=a,xerr=b)。

参数说明

x:数据点的水平位置。

y:数据点的垂直位置。

yerr:y 轴方向的数据点的误差计算方法。

xerr:x 轴方向的数据点的误差计算方法。

调用展示

(1)代码展示

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1,1.2,6)
y = np.exp(x)
plt.errorbar(x,y,fmt="bo:",yerr=0.3,xerr=0.03)
plt.xlim(0,0.7)
plt.show()

(2)运行结果如图

参考资料:《Python 数据可视化之 matplotlib 实践》第二章

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

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

相关文章

day21|216.组合总和III、17.电话号码的字母组合

216.组合总和III 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输出: …

说说配置中心

什么是配置中心在微服务的环境下,将项目需要的配置信息保存在配置中心,需要读取时直接从配置中心读取,方便配置管理的微服务工具可以将部分yml文件的内容保存在配置中心一个微服务项目有很多子模块,这些子模块可能在不同的服务器上,如果有一些统一的修改,需要逐一修改这些子模块…

python数据可视化开发:Matplotlib库基础知识

文章目录前言01.工具栏组件02.图表数据03.设置字体字典(1)全局字体样式(2)常用中文字体对应名称(3)查询当前系统所有字体04.图像配置实例05.图表标题06.文本组件07.坐标轴标签组件08.网格组件09.绘制折线10…

【头歌】双向链表的基本操作

双向链表的基本操作第1关:双向链表的插入操作任务描述本关任务:编写双向链表的插入操作函数。相关知识双链表中用两个指针表示结点间的逻辑关系:指向其前驱结点的指针域prior,指向其后继结点的指针域next。双向链表的结点结构如图…

MySQL数据库面试题[万字汇总]

1) MySQL数据库相关错题本1、存储引擎相关1、MySql的存储引擎的不同MySQL存储引擎主要有InnoDB, MyISAM, Memory, 这三个区别在于:Memory是内存数据引擎, 会断电重启(在双M或者主从架构下会产生较多异常), 且不支持行级锁. 默认索引是数组索引, 支持B索引InnoDB和MyISAM的区别:…

流批一体计算引擎-5-[Flink]的Python Table API和SQL程序

参考Flink从入门到入土(详细教程) 参考flink的默认窗口触发机制 参考彻底搞清Flink中的Window 参考官方Python API文档 1 IDEA中运行Flink 从Flink 1.11版本开始, PyFlink 作业支持在 Windows 系统上运行,因此您也可以在 Windows 上开发和…

【数据结构】极致详解:树与二叉树(上)——结构与概念

目录 🛫前言🛫: 🚀一、树🚀: 1.树的概念: 2.树的相关概念: 3.树的表示: 4.树的实际使用场景: 🛰️二、二叉树🛰️:…

acwing-Diango项目 (后半)

acwing-Django项目 文章目录acwing-Django项目前言5. 创建账号系统5.1用户名密码登录写登录界面写注册界面写动作 实现三个函数 register login logout5.2 Web端acapp一键登录在django中集成redis(准备工作)首先 pip install django_redis配置一下缓存启动redis-serverredis在d…

特征工程——文本特征

文本特征 expansion编码 consolidation编码 文本长度特征 标点符号特征 词汇属性特征 特殊词汇特征 词频特征 TF-IDF特征 LDA特征 下面的文章主要是梯度提升树模型展开的,抽取的特征主要为帮助梯度提升树模型挖掘其挖掘不到的信息,本文介绍的所…

NodeJS Web 框架 Express 之中间件

NodeJS Web 框架 Express 之中间件参考描述中间件next()一个简单的中间件函数使用全局中间件局部中间件共享注意事项位置next()分类错误级中间件内置中间件express.urlencoded()express.json()第三方中间件参考 项目描述哔哩哔哩黑马程序员搜索引擎Bing 描述 项目描述Edge109…

从0-1开始 测试ZLMediaKit推拉流性能、延时性能

流媒体开发系列文章 文章目录流媒体开发系列文章前言一、环境准备?二、拉流测试过程三、推流测试过程三、延时测试总结前言 目前、比较有名的流媒体服务器有ZLMediaKit、srs、live555、eadydarwin等。因为srs是单线程服务、对于多核服务器的支持需要通过部署多个服…

pytorch深度学习基础(十一)——常用结构化CNN模型构建

结构化CNN模型构建与测试前言GoogLeNet结构Inception块模型构建resNet18模型结构残差块模型构建denseNet模型结构DenseBlocktransition_block模型构建结尾前言 在本专栏的上一篇博客中我们介绍了常用的线性模型,在本文中我们将介绍GoogleNet、resNet、denseNet这类…

APT之木马静态免杀

前言 这篇文章主要是记录手动编写代码进行木马免杀,使用工具也可以免杀,只不过太脚本小子了,而且工具的特征也容易被杀软抓到,指不定哪天就用不了了,所以要学一下手动去免杀木马,也方便以后开发一个只属于…

blender导入骨骼动画方法[psa动作]

先导入女性的psk文件 然后调整缩放大小和人物一样,包括角度朝向. ctrla应用所有改变 然后选择psk文件以及其他人物模型的全部 ,然后 在Layout-物体-父级 -附带空顶相点组 image.png之后会发现所有人物多了修改器,点击其中一个修改器 点添加修改器 -数据传递 勾选顶点数据-选择顶…

人员动作行为AI分析系统 yolov5

人员动作行为AI分析系统通过pythonyolo系列网络学习模型,对现场画面人员行为进行实时分析监测,自动识别出人的各种异常行为动作,立即抓拍存档预警同步回传给后台。 我们使用YOLO算法进行对象检测。YOLO是一个聪明的卷积神经网络(CNN)&#xf…

带滤波器的PID控制仿真-1

采用低通滤波器可有效地滤掉噪声信号,在控制系统的设计中是一种常用的方法。基于低通滤波器的信号处理实例设低通滤波器为:采样时间为1ms,输入信号为带有高频正弦噪声( 100Hz)的低频(0.2Hz)正弦信号。采用低…

离散数学与组合数学-05树

文章目录离散数学与组合数学-05树5.1 认识树5.1.1 树的模型5.1.2 树的应用5.2 无向树5.2.1 定义5.2.2 树的性质5.2.3 性质应用5.3 生成树5.3.1 引入5.3.2 定义5.3.3 算法5.3.4 应用5.4 最小生成树5.4.1 引入5.4.2 定义5.4.3 算法5.5 根树5.5.1 根数定义5.5.2 倒置法5.5.3 树的家…

【编程入门】开源记事本(SwiftUI版)

背景 前面已输出多个系列: 《十余种编程语言做个计算器》 《十余种编程语言写2048小游戏》 《17种编程语言10种排序算法》 《十余种编程语言写博客系统》 《十余种编程语言写云笔记》 本系列对比云笔记,将更为简化,去掉了网络调用&#xff0…

C++模板进阶

这篇文章是对模板初阶的一些补充,让大家在进行深一层的理解。 文章目录1. 非类型模板参数2. 模板的特化2.1 概念2.2 函数模板特化2.3 类模板特化2.3.1 全特化2.3.2 偏特化2.4 类模板特化应用示例3 模板分离编译3.1 什么是分离编译3.2 模板的分离编译3.3 解决方法4.…

【各种**问题系列】什么是 LTS 长期支持

目录 🍁 什么是长期支持(LTS)版本? 🍂 LTS 版本的优点: 🍁 什么是 Ubuntu LTS? 🍂 Ubuntu LTS 软件更新包括什么? 在 Linux 的世界里,特别是谈…