【数据可视化】第三章——数据可视化综合实践

news2025/7/19 19:11:39

Matplotlib作业数据.csv文件查看百度网盘:链接:https://pan.baidu.com/s/1oFB_KwhiJNlJAgXg7RaYuw?pwd=abcd
提取码:abcd

1.作业描述

作业:根据Matplotlib作业数据.csv做出4种不同类型的组合图像

要求:根据情况适当添加信息,如:标题,坐标轴信息,图例信息,特殊值标注等。

可参考制作内容包括并不限于:
评分最高的20部电影的投票人数分布(柱状图,条形图)
不同国家2012-2016年发行电影数量(折线图,簇状柱形图)
不同类型电影2012-2016年发行数量(簇状柱形图)
不同类型电影所占比值(饼图)
电影时长分布分析(直方图)
电影时长,豆瓣评分与投票人数的相关关系(气泡图)


2.参考代码:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import pandas as pd
import seaborn as sbn

matplotlib.rcParams['font.family'] = 'SIMHEI'
matplotlib.rcParams['font.size'] = 18

提示:如果报错,请检查包是否下载完成,在python环境中输入:
pip install xxx

df = pd.read_csv(r"E:/Matplotlib作业数据.csv",encoding="gbk",index_col="名字").dropna()
# 评分最高的20部电影的投票人数分布(柱状图,条形图)
df1 = df.sort_values(by="评分",ascending=False)
df2 = df1.iloc[0:20,:]
# 不同国家2012-2016年发行电影数量
df3 = df["产地"].value_counts()
# 不同类型电影2012-2016年发行数量(簇状柱形图)
df4 = df["类型"].value_counts()
# 计算相关系数
df5 = df[["时长","评分","投票人数"]].corr()
plt.figure(figsize = (25,35),dpi = 150)

plt.subplot2grid(shape=(3,3),loc=(0,0),colspan=3)
# 第一个图 评分最高的20部电影的投票人数分布(柱状图,条形图)
a = [s[:5] for s in df2.index] 
b = df2["投票人数"]
plt.barh(a, width =b,height = 0.5,color = 'orange',edgecolor = 'silver',linewidth = 3)
plt.yticks(a,fontsize = 12)
plt.grid(True)
plt.title('评分最高的20部电影的投票人数分布',fontweight="bold") #图标题
plt.ylabel('电影名称')
plt.xlabel('人数')

plt.subplot2grid((3,3),(1,0),colspan=2)
# 第二个图 不同国家2012-2016年发行电影数量 折线图
a = df3.index
b = df3.to_list()
plt.plot(a,b,color = 'g', linestyle = '-.',linewidth = 3,
        marker = 'h', markerfacecolor = 'c', markersize = 15)
bm = np.argmax(b)
plt.text(a[bm],b[bm],'最大值', fontproperties = 'Kaiti', fontsize = 15)
plt.xticks(a,rotation = 45)
plt.title('不同国家2012-2016年发行电影数量',fontweight="bold") #图标题
plt.xlabel('国家')
plt.ylabel('电影数量')
plt.grid(True)

plt.subplot2grid((3,3),(1,2),rowspan=2)
# 第三个图
# 不同电影时长分布
a = df["时长"]
d = 20
num_bins = np.ceil((np.ptp(a))/d).astype(np.int64)
b = np.arange(min(a),max(a)+d,d)
plt.hist(a,num_bins,range = (min(a),min(a)+d*num_bins),density = False,color="coral")
plt.xticks(b)
plt.grid()
plt.xlabel("分钟")
plt.ylabel("数量")
plt.title("不同电影时长分布",fontweight="bold")


plt.subplot2grid((3,3),(2,0),colspan=1)
sbn.heatmap(df5,cmap='GnBu',annot=True,linewidths=0.3, linecolor='gray')
plt.title("相关关系热力图",fontweight="bold")

plt.subplot2grid((3,3),(2,1),colspan=1)
# 第五个图
sizes = df4.to_list() #设置每部分大小
labels = df4.index
explode = [0.05,0,0,0,0,0,0,0,0,0,0] #设置每部分凹凸
# colors = ['c','g','b','m']
colors = matplotlib.cm.rainbow(np.arange(len(sizes))/len(sizes))
plt.pie(sizes,
        labels = labels,
        explode = explode,
        colors = colors,
        labeldistance = 1,
        autopct = '%.1f%%',
        counterclock = False,
        startangle = 170,
        shadow = False)

plt.title('不同类型电影所占比值',fontweight="bold");#设置标题

最终效果如图:
在这里插入图片描述

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

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

相关文章

深入浅出基于HLS流媒体协议视频加密的解决方案

一套简单的基于HLS流媒体协议,使用video.js NodeJS FFmpeg等相关技术实现的m3u8tsaes128视频加密及播放的解决方案示例。 项目简介 起初是为了将工作中已有的基于Flash的视频播放器替换为不依赖Flash的HTML5视频播放器,主要使用了现有的video.js开源播…

Windows内核--HAL在抽象什么?(3.4)

From: HAL在Kernel和硬件之间 HAL在抽象什么? HAL位于内核最底层。“与硬件直接打交道“的这一层被称为硬件抽象层。顾名思义,Windows内核希望把硬件相关的代码放在HAL模块,而这似乎与WRK众多amd64或x86目录相违背。 注意,任何代…

如何优雅的终止线程 Java

目录 终止线程的方法 打断sleep函数 打断正常执行的线程 两阶段终止模式 错误的方法 使用线程对象的 stop() 方法停止线程 使用 System.exit(int) 方法停止线程 正确的方法:使用 interrrupt 终止线程的方法 XXXThread.interrupt(); 在线程的 run函数中对该线…

NFT+体育,卡塔尔世界杯有哪些NFT看点!

有人说没有冷门的世界杯不是真正的世界杯!11月22日,卡塔尔世界杯小组赛C组第1轮比赛中,沙特爆冷2:1逆转阿根廷队,成了今年世界杯的第一个冷门。世界排名第51位的沙特队战胜了排名第3的阿根廷队,结束了阿根廷队此前的36…

vue拖拽删除实现

拖拽删除 背景 自营上传图片,但是需要排序和删除功能,所以用到了h5的拖拽 源元素: 即被拖拽的元素。 目标元素: 即合法的可释放元素。 每个事件的事件主体都是两者之一。 拖拽事件 触发顺序及次数 被拖拽元素,事…

day5-day6【代码随想录】螺旋矩阵II

文章目录前言一、螺旋矩阵||(力扣59)二、螺旋矩阵(力扣54)前言 坚持循环不变量原则。 模拟顺时针画矩阵的过程: 填充上行从左到右 填充右列从上到下 填充下行从右到左 填充左列从下到上 由外向内一圈一圈这么画下去 一、螺旋矩阵…

大三保研夏令营须知及前期准备工作

前言 对于大三保研学生而言,学期将近结束;接踵而来的是接下来的保研准备。保研阶段通常可以分为:夏令营、预推免、九推(捡漏)。很多同学往往都是在前两个阶段就能获得满意的offer。 对于计算机专业来说,经历过2022年的“推免季”&…

项目实战——匹配系统(下)

目录 一、整体梳理 二、创建SpringCloud目录 三、创建子项目 四、实现接口 五、config网关配置 六、放行API 七、封装后端逻辑 八、对接匹配系统 九、修改数据库 十、实现匹配之后的逻辑 十一、线程锁 十二、匹配函数 上节课知识梳理: 用户浏览器打开之…

天津专升本报名时的报名点

2023年天津专升本报名区县及应届生、往届生报名点 天津市在校大三应届生报名点选自己的专科院校,往届生及在外省就读的应届生选户籍所在区招办。 退役士兵从天津入伍的选择学校作为报名点,外省市入伍的选择区招办。

slambook2(ch2)—— Ubuntu20.04 使用cmake + make自动化编译过程

slambook2(ch2)—— Ubuntu20.04 使用cmake make自动化编译过程主函数库函数libhello.cpplibhello.hCMakeLists.txt编译重新编译vim加行号主函数 main.cpp 库函数 libhello.cpp libhello.h CMakeLists.txt 编译 mkdir build && cd build c…

ASEMI肖特基二极管MBR30100CT特征,MBR30100CT应用

编辑-Z ASEMI肖特基二极管MBR30100CT参数: 型号:MBR30100CT 最大重复峰值反向电压(VRRM):100V 最大平均正向整流输出电流(IF):30A 峰值正向浪涌电流(IFSM&#xff0…

通达信l1l2行情接口-十档行情有哪些优势?

据提供系统或用户编制的条件选股公式进行选股选定一个条件选股公式或多个组合条件后,计算机自动帮您选出当时或历史上某一段时间内满足条件的所有股票十档行情 英文,列在行情下载显示窗口,同时可保留成板块。 那通达信l1l2行情接口-十档行情…

map容器(20221125)

一、map/multimap容器 1、map基本概念 map中所有元素都是pair; pair第一个元素为key(键值),起到索引的作用,第二个元素为value(实值); 所有元素会根据元素的键值(key)自动排序。 map/multi…

论文阅读笔记 | 三维目标检测——PartA2算法

如有错误,恳请指出。 文章目录0. 前言与补充知识1. 背景2. 相关工作3. 网络结构3.1 Part-aware stageAnchor-free Proposal GenerationAnchor-based Proposal GenerationDiscussion Two Proposal Generation Strategies3.2 Part-aggregation stageROI-aware feature…

ORB-SLAM2 ---- Frame::ComputeBoW函数(TrackReferenceKeyFrame调用版)

目录 1.函数作用 2.什么是BowVec和FeatVec 3.代码 3.1 Frame::ComputeBoW解释 3.2 transform主函数:将一幅图像所有的特征点转化为BowVector和FeatureVector 3.3 transform:将描述子转化为Word id, Word weight,节点所属的…

[毕业设计]机器学习水域检测标注算法

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投…

uniapp里接入lottie-miniprogram详细指南

包工头:小张啊,我们页面里那几个gif也太low了,你能不能追求远大点。ui妹子:软件推荐可以用lottie实现。我:这玩意我耍过,交给我了。 牛逼已经吹出去了,开干, 遇到问题有&#xff0…

基于MxNet实现目标检测-YoloV3【附部分源码及模型】

文章目录前言目标检测发展史及意义一、数据集的准备1.标注工具的安装2.数据集的准备3.标注数据4.解释xml文件的内容二、网络结构的介绍三、代码实现0.工程目录结构如下1.导入库2.配置GPU/CPU环境3.数据加载器4.模型构建YoloV3-tinyYoloV35.模型训练1.学习率设置2.优化器设置3.损…

XSS绕过安全狗WAF

今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS绕过安全狗WAF。 一、测试环境搭建 我们使用Vmware虚拟机搭建靶场环境。在Vmware虚拟机上,安装有PHPStudy,如下所示: 然后安装安全狗WAF,安全狗WAF有一系列的…

深度学习入门(五十二)计算机视觉——风格迁移

深度学习入门(五十二)计算机视觉——风格迁移前言计算机视觉——风格迁移课件样式迁移易于CNN的样式迁移教材1 方法2 阅读内容和风格图像3 预处理和后处理4 抽取图像特征5 定义损失函数5.1 内容损失5.2 风格损失5.3 全变分损失5.4 损失函数6 初始化合成图…