【matplotlib】2-使用统计函数绘制简单图形

news2024/10/6 11:31:51

文章目录

  • 使用统计函数绘制简单图形
    • 1.函数bar()--用于绘制柱状图
    • 2.函数barh()--用于绘制条形图
    • 3.函数hist()--用于绘制条形图
    • 4.函数pie()--用于绘制饼图
    • 5.函数polar()--用于绘制极线图
    • 6.函数scatter()--用于绘制气泡图
    • 7.函数stem()--用于绘制棉棒图
    • 8.函数boxplot()--用于绘制箱线图
    • 9.函数errorbar()--用于绘制误差棒图

使用统计函数绘制简单图形

1.函数bar()–用于绘制柱状图

函数功能: 在x轴上绘制定性数据的分布特征
调用签名: plt.bar(x, y)
参数说明:

  • x: 标示在x轴上的定性数据的类别
  • y: 每种定性数据的类别的数量
# -*- coding: utf-8 -*-

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

# 生成数据
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [3, 1, 4, 5, 8, 9, 7, 2]

# 绘制柱状图
plt.bar(x, y, color='c', align='center', tick_label=['q', 'a', 'c', 'e', 'r', 'j', 'b', 'p'], hatch='/')

# 添加标题
plt.title('bar chart')

# 添加坐标轴标签
plt.xlabel('category')
plt.ylabel('weight(kg)')

plt.show()

bar

2.函数barh()–用于绘制条形图

函数功能: 在y轴上绘制定性数据的分布特征
调用签名: plt.barh(x, y)
参数说明:

  • x: 标示在y轴上的定性数据的类别
  • y: 每种定性数据的类别的数量
# -*- coding: utf-8 -*-

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

# 生成数据
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [3, 1, 4, 5, 8, 9, 7, 2]

# 绘制条形图
plt.barh(x, y, color='c', align='center', tick_label=['q', 'a', 'c', 'e', 'r', 'j', 'b', 'p'], hatch='/')

# 添加标题
plt.title('bar chart')

# 添加坐标轴标签
plt.xlabel('category')
plt.ylabel('weight(kg)')

plt.show()

barh

3.函数hist()–用于绘制条形图

函数功能: 在x轴上绘制定量数据的分布特征
调用签名: plt.hist(x)
参数说明:

  • x: 在x轴上绘制箱体的定量数据输入值
# -*- coding: utf-8 -*-

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

# 生成数据
boxWeight = np.random.randint(0, 10, 100)

x = boxWeight

# 绘制直方图
bins = range(0, 11, 1)

plt.hist(x, bins=bins, color='g', histtype='bar', rwidth=1, alpha=0.6)

# 添加标题
plt.title('hist chart')

# 添加坐标轴标签
plt.xlabel('weight(kg)')
plt.ylabel('sell count')

plt.show()

hist

4.函数pie()–用于绘制饼图

函数功能: 绘制定性数据的不同类别的百分比
调用签名: plt.pie(x)
参数说明:

  • x: 定性数据的不同类别的百分比
# -*- coding: utf-8 -*-

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

kinds = 'simple', 'worm', 'sawtooth', 'mixture'

colors = ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3']

soldNums = [0.05, 0.45, 0.15, 0.35]

# 画饼图
plt.pie(soldNums, labels=kinds, autopct='%3.1f%%', startangle=60, colors=colors)

# 设置标题
plt.title('pie chart')

# 显示图形
plt.show()

pie

5.函数polar()–用于绘制极线图

函数功能: 在极坐标轴上绘制折线图
调用签名: plt.polar(theta, r)
参数说明:

  • theta: 每个标记所在射线与极径的夹角
  • r: 每个标记到原点的距离
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='b',
          ms=10)

plt.show()

polar

6.函数scatter()–用于绘制气泡图

函数功能: 二维数据借助气泡大小展示三维数据
调用签名: plt.scatter(x, y)
参数说明:

  • x: x轴上的数值
  • y: y轴上的数值
  • s: 散点标记的大小
  • c: 散点标记的颜色
  • cmap: 将浮点数映射成颜色的颜色映射表
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

a = np.random.randn(100)
b = np.random.randn(100)

plt.scatter(a, b, s=np.power(10*a+20*b, 2),
            c=np.random.randn(100),
            cmap=mpl.cm.RdYlBu, marker='o')

plt.show()

scatter

7.函数stem()–用于绘制棉棒图

函数功能: 绘制离散有序数据
调用签名: plt.stem(x, y)
参数说明:

  • x: 指定棉棒的x轴基线上的位置
  • y: 绘制棉棒的长度
  • linefmt: 棉棒的样式
  • marketfmt: 棉棒末端的样式
  • basefmt: 指定基线的样式
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.5, 2*np.pi, 20)
y = np.random.randn(20)

plt.stem(x, y, linefmt='-.', markerfmt='o', basefmt='-')

plt.show()

stem

8.函数boxplot()–用于绘制箱线图

函数功能: 绘制箱线图
调用签名: plt.boxplot(x)
参数说明:

  • x: 绘制箱线图的输入数据
import matplotlib.pyplot as plt
import numpy as np

x = np.random.randn(1000)

plt.boxplot(x)

plt.xticks([1], ['AlphaRM'])
plt.ylabel('Value')
plt.title('Boxplot of AlphaRM')

plt.grid(axis='y', ls=':', lw=1, color='gray', alpha=0.4)

plt.show()

boxplot

9.函数errorbar()–用于绘制误差棒图

函数功能: 绘制y轴方向或者x轴方向的误差范围
调用签名: plt.errorbar(x, y, yerr=a, xerr=b)
参数说明:

  • x: 数据点的水平位置
  • y: 数据点的垂直位置
  • yerr: y轴方向的数据点的误差计算方法
  • xerr: x轴方向的数据点的误差计算方法
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1, 0.6, 6)
y = np.exp(x)

plt.errorbar(x, y, fmt='bo:', yerr=0.2, xerr=0.02)

plt.xlim(0, 0.7)

plt.show()

errorbar

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

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

相关文章

openGauss洗冤录 之 copy from

openGauss洗冤录 之 copy from 引子 之前一篇《测评报告:文件导入哪家强?》关于openGauss性能与预期不符的问题留下了个坑,今天回来填坑。 前文提到使用openGauss的copy from导入csv文件耗时是mysql的2倍,是PostgreSQL的6倍&#…

下载nacos-server-1.1.4安装包,使用mvn打包

git官方地址下载nacos-server-1.1.4.zip速度太慢,码云上下载地址没有安装包。采用从码云上下载源码,自行打包。(https://gitee.com/mirrors/Nacos/tree/1.1.4)下载完成之后,进入项目目录如图 下载源码后 ,解压 本地在本文件夹 在d…

这十套练习,教你如何用Pandas做数据分析(03)

练习3-数据分组 探索酒类消费数据 步骤1 导入必要的库 运行以下代码 import pandas as pd 步骤2 从以下地址导入数据 运行以下代码 path3 ‘…/input/pandas_exercise/pandas_exercise/exercise_data/drinks.csv’ #‘drinks.csv’ 步骤3 将数据框命名为drinks 运行以下代…

SpringBoot+Vue实现前后端分离的航空售票管理系统

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue.js 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JD…

JavaScript(一):编写位置、输入输出语句

JavaScript入门一、 JavaScript编写位置二、输入输出语句一、 JavaScript编写位置 (1)编写到script标签中 控制浏览器弹出一个警告框 alert("警告内容")让计算机在页面中输出一个内容 document.write() /*可以向body中输出一个内容*/向控制…

基于java+springboot+mybatis+vue+mysql的自媒体社区平台

项目介绍 近几年来自媒体平台的发展越来越迅猛,并逐渐成为新闻信息传播的主流模式,自媒体平台的内容构成没有主要的核心,新闻信息的探讨和传播环境比较自由,与此同时自媒体平台概念的应用与发展,赋予了普通民众发表自己感想的权利…

OneUI 5.5.0 for HTML/PHP/VueJS

OneUI 是一个高度通用的 Bootstrap 管理仪表板模板和 UI 框架,支持 Laravel,可让您以相同的速度和稳健的布局创建各种网站。它是使用 Sass 和 ECMAScript 6 (ES6) 开发的,并为开发人员提供了各种智能工具,如 webpack5、Babel 7、G…

如何避免SCI写作中的中式思维以及无处不在的Chinglish

现在随着全球经济的下行,很多小伙伴都选择了延时就业,因此更多的人开始考研和考博。新东方大学生学习与发展中心发布的《新东方2023考研报告》预测:2023考研报名将超过520万人。俗话说(我道听途说的):一入科…

一文教你数据结构体栈和队列的实现

前言: 关于c语言的学习已经差不多更新完毕,如果发现个别知识点,我还会继续更新,但目前已经准备往c和数据结构的重心挪动,这篇文章就是向大家讲述数据结构中栈和队列的实现。 💞 💞 欢迎来到小…

VoIP通话-基于SIP协议的Asterisk(一)-实现流程

文章首发及后续更新:https://mwhls.top/4122.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! VoIP通话-基于SIP协议的Asterisk该篇仅包含实现流程&#…

实验12 动态查找2022

A. DS二叉排序树之创建和插入 给出一个数据序列,建立二叉排序树,并实现插入功能 对二叉排序树进行中序遍历,可以得到有序的数据序列 输入 第一行输入t,表示有t个数据序列 第二行输入n,表示首个序列包含n个数据 第…

Vue 基础详解 | 系统性学习 | 无知的我费曼笔记

无知的我正在复盘Vue 该笔记特点是 重新整理了涉及资料的一些语言描述、排版而使用了自己的描述对一些地方做了补充说明。比如解释专有名词、类比说明、对比说明、注意事项提升了总结归纳性。尽可能在每个知识点上都使用一句话 || 关键词概括更注重在实际上怎么应用提出并回答…

spring——AOP面向切面编程—— 自动代理——根据 Bean 名称创建代理对象根据切面中信息创建代理对象...

自动代理 在前面的案例中,所有目标对象(Target Bean)的代理对象(Proxy Bean)都是在 XML 配置中通过 ProxyFactoryBean 创建的。 但在实际开发中,一个项目中往往包含非常多的 Bean, 如果每个 Bean 都通过 ProxyFactoryBean 创建,那…

MySQL~InnoDB关键特性(插入缓存、俩次写、自适应哈希索引、异步IO

一般情况下,主键是行唯一的标识符。通常应用程序中行记录的插入顺序是按照主键递增的顺序进行插入的。因此,插入聚集索引一般是顺序的,不需要磁盘的随机读取。因为,对于此类情况下的插入,速度还是非常快的。 如果索引…

Selenium4+Python3系列 - 测试框架的设计与开发

框架搭建 整个框架的实现,大约也就1.5天,关于框架的开发并不是很难,主要难在测试报告增加失败自动截图功能和echart的饼子图统计功能,两者的整合花了近半天的时间吧。 效果: 1、核心思想 延续使用Page Object和Page …

RabbitMQ入门(三)消息应答与发布确认

前言: 消息应答与发布确认都是保证消息不丢失。而重复消费问题则是消息幂等性。(之后会说幂等性) 消息应答: 应答功能属于消费者,消费者在接收到消息并且处理该消息之后,告诉 rabbitmq 它已经处理了&…

深度学习——残差网络(ResNet)笔记

残差网络:经常使用的网络之一 1.随着神经网络的不断加深能改进精度吗? 不一定 ①蓝色五角星表示最优值,Fi闭合区域表示函数,闭合区域的面积代表函数的复杂程度。在这个区域能够找到一个最优的模型(区域中的一个点表…

「重学JS」带你一文吃透作用域与闭包

前言 学习了这么久前端,发现自己对于基础知识的掌握并没有那么通透,于是打算重新学一遍JS,借用经济学的一句话:JS基础决定能力高度🤦🏻 基础很重要,只有基础好才会很少出 bug,大多数…

二叉树的性质

由于二叉树的结构特殊,会有一系列的数学性质 性质一:对于一棵二叉树,第i层的最大结点数量为 个,比如二叉树的第一层只有一个根结点,而二叉树的第三层可以有 个结点。 性质二:对于一棵深度为k的二叉树&am…

【Python】函数

文章目录1. 函数介绍2. 函数的定义与调用3. 函数参数4. 函数返回值5. 变量作用域6. 函数执行过程7. 链式调用8. 嵌套调用9. 函数递归10. 参数默认值11关键字参数1. 函数介绍 编程中的函数不同于数学中的函数: 数学上的函数,比如 y sin x,x…