当前位置: 首页 > news >正文

day19 学习笔记

文章目录

  • 前言
  • 一、柱状图
  • 二、直方图
  • 三、饼图
  • 四、散点图


前言

  • 通过今天的学习,我掌握了使用Matplotlib绘制基本统计图,包括柱状图,直方图,饼图,散点图

一、柱状图

  • ax.bar(x, height, width=0.8, bottom=None, align=‘center’, **kwargs)
  • align:柱状图对齐方式;bottom:柱状图底部位置,默认为0
  • 柱状图主要用于比较不同类别之间的数据大小
categories = ['A', 'B', 'C', 'D']
values = [20, 35, 30, 25]

# 创建图形和子图
fig, ax = plt.subplots()

# 绘制柱状图
ax.bar(categories, values, color='pink', linewidth=1.5, width=0.5,align="center",bottom=0)

# 设置标题和标签
ax.set_title('柱状图')
ax.set_xlabel('种类')
ax.set_ylabel('值')

# 显示图形
plt.show()

在这里插入图片描述

  • 可以指定bottom以绘制堆叠柱状图
categories = ['A', 'B', 'C', 'D']
values1 = [20, 35, 30, 25]
values2 = [15, 25, 20, 10]

# 创建图形和子图
fig, ax = plt.subplots()

# 绘制第一个数据集的柱状图
ax.bar(categories, values1, color='skyblue', label='值 1')

# 绘制第二个数据集的柱状图,堆叠在第一个数据集上
ax.bar(categories, values2, bottom=values1, color='pink', label='值 2')

# 设置标题和标签
ax.set_title('堆叠柱状图')
ax.set_xlabel('种类')
ax.set_ylabel('值')

# 添加图例
ax.legend()

# 显示图形
plt.show()

在这里插入图片描述

二、直方图

  • ax.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, **kwargs)
  • x指一个数据数组;bins指柱数;density指是否标准化
  • 相较于柱状图,直方图主要用于展示连续数据的分布情况
# 生成随机数据,生成均值为 0,标准差为 1 的标准正态分布的随机样本
data = np.random.randn(100)

# 创建图形和子图
fig, ax = plt.subplots()

# 绘制直方图
ax.hist(data, bins=30, color='skyblue', edgecolor='black')

# 设置标题和标签
ax.set_title('Simple Histogram')
ax.set_xlabel('Value')
ax.set_ylabel('Frequency')

# 显示图形
plt.show()

在这里插入图片描述

三、饼图

  • ax.pie(x, explode=None, labels=None, colors=None, autopct=None, shadow=False, startangle=0, **kwargs)
  • x指数据数组;labels指每个扇区的标签;autopct: 控制显示每个扇区的占比,默认为 None
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]

# 创建图形和子图
fig, ax = plt.subplots()

# 绘制饼图
ax.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)

# 设置标题
ax.set_title('饼图')

# 显示图形
plt.show()

在这里插入图片描述

四、散点图

  • ax.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, **kwargs)
fig = plt.figure()
axes = fig.add_axes([.1,.1,.8,.8])
x = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
data = [
    [120, 132, 101, 134, 90, 230, 210],
    [220, 182, 191, 234, 290, 330, 310],
]
y0 = data[0]
y1 = data[1]
axes.scatter(x,y0,color='red',marker="s")
axes.scatter(x,y1,color='blue',marker="d")
axes.set_title('散点图')
axes.set_xlabel('日期')
axes.set_ylabel('数量')
plt.legend(labels=['label 1', 'label 2'],)
plt.show()

在这里插入图片描述


THE END

相关文章:

  • Electron崩溃问题排查指南
  • Redis 的缓存雪崩、击穿、穿透及其解决办法
  • Docker学习--容器的root文件系统(rootfs)命令--docker diff 命令
  • 2025最新云渲染网渲100渲染农场使用方法,渲染100邀请码1a12
  • HTTPS通信的加密问题
  • Groovy 规则执行器,加载到缓存
  • Minio集群部署
  • 大数据在金融服务中的中阶应用:从洞察到决策的技术进阶
  • 蓝桥杯 2023 省赛 B 组 I 题 - 景区导游题解(LCA最近公共祖先)
  • 水下成像机理分析
  • 输电线路在线监测通信规约,即I1协议
  • 医院信息系统建设:大数据平台、集成平台、数据治理平台,该如何选择?
  • 常用shell命令
  • NodeTextFileCollectorScrapeError 报警原因及解决方法
  • Linux中的权限管理(附加详细实验示例)
  • swe-bench环境安装踩坑
  • 如何利用 AI 进行 A/B 测试的优化?
  • 【设计模式】过滤器模式
  • 手机显示5GA图标的条件
  • Oracle中文一二三四排序【失败】
  • 建设银行南昌分行引金融“活水”,精准灌溉乡村沃土
  • 辽宁辽阳市白塔区一饭店火灾事故举行新闻发布会,现场为遇难者默哀
  • 暗蓝评《性别打结》丨拆解性别之结需要几步?
  • 释新闻|西葡大停电为何规模大、恢复慢?可再生能源是罪魁祸首?
  • 连演三场,歌剧《义勇军进行曲》在上海西岸大剧院上演
  • 杭州一季度GDP为5715亿元,同比增长5.2%