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

数据分析基础之《matplotlib(4)—柱状图》

一、柱状图绘制

1、柱状图要素
有类别

2、需求:对比每部电影的票房收入
电影数据如下图所示:

3、matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
说明:
x:有几个类别
height:y轴
width:柱状图的宽度
align:每个柱状图的位置对齐方式
**kwargs:color-选择柱状图的颜色

4、代码

# 柱状图绘制# 1、准备数据
movie_names = ['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴', '降魔传','追捕','七十七天','密战','狂兽','其它']
tickets = [73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)# 3、绘制柱状图
x_ticks = range(len(movie_names))
plt.bar(x_ticks, tickets, color=['b','r','g','y','c','m','y','k','c','g','b'])# 修改x的刻度
plt.xticks(x_ticks, movie_names)# 添加标题
plt.title("电影票房收入对比")# 添加网格显示
plt.grid(linestyle="--", alpha=0.5)# 4、显示图像
plt.show()

5、需求2:如何对比电影票房收入才更加有说服力
比较相同天数的票房
有时为了公平起见,我们需要对比不同电影首日和首周的票房

代码

# 需求2:如何对比电影票房收入才更加有说服力# 1、准备数据
movie_names_2 = ['雷神3:诸神黄昏','正义联盟','寻梦环游记']
first_day = [10587.6,10062.5,1275.7]
first_weekend = [36224.9,34479.6,11830]# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)# 3、绘制柱状图
plt.bar(range(3), first_day, width=0.2, label="首日票房")
# 画两个柱状图
# 平移刻度,防止柱状图重叠
plt.bar([0.2, 1.2, 2.2], first_weekend, width=0.2, label="首周票房")# 显示图例
plt.legend()# 修改刻度
# 刻度要平移0.1
x = range(3)
plt.xticks([i+0.1 for i in x], movie_names_2)# 4、显示图像
plt.show()

二、柱状图应用场景

1、适合用在分类数据对比场景上
(1)数量统计
(2)用户数量对比分析
 

相关文章:

  • 【HTML语法】
  • 深度学习——第3章 Python程序设计语言(3.5 Python类和对象)
  • RabbitMQ创建新用户,并给用户添加角色和授权
  • 报错:merge sql error, dbType mysql, sql : select...
  • 点击el-tree小三角后去除点击后的高亮背景样式,el-tree样式修改
  • block-recurrent-transformer-pytorch 学习笔记
  • Mybatis之动态SQL
  • 基于SSM的医院交互系统的设计与实现
  • Oracle官网 账号及密码 -- 笔记
  • 测试新手百科:Postman简介、安装、入门使用方法详细攻略!
  • Hadoop3.x完全分布式环境搭建Zookeeper和Hbase
  • 工作中常用的RabbitMQ实践
  • GPT-4 变懒了?官方回复
  • Linux 网络协议
  • 秋招春招,我没有拿到一个offer怎么办?
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Apache Spark Streaming 使用实例
  • co.js - 让异步代码同步化
  • express.js的介绍及使用
  • HTTP中的ETag在移动客户端的应用
  • k8s如何管理Pod
  • KMP算法及优化
  • Linux Process Manage
  • php中curl和soap方式请求服务超时问题
  • react 代码优化(一) ——事件处理
  • tweak 支持第三方库
  • Vim Clutch | 面向脚踏板编程……
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 前嗅ForeSpider中数据浏览界面介绍
  • 一个SAP顾问在美国的这些年
  • 译自由幺半群
  • 最简单的无缝轮播
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 带你开发类似Pokemon Go的AR游戏
  • ​马来语翻译中文去哪比较好?
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #pragma once与条件编译
  • #在 README.md 中生成项目目录结构
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (3)llvm ir转换过程
  • (C++17) std算法之执行策略 execution
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (备份) esp32 GPIO
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (接口封装)
  • (十五)使用Nexus创建Maven私服
  • (一)面试需要掌握的技巧
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)iOS字体
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ***利用Ms05002溢出找“肉鸡
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008