Python可视化-matplotlib用法详解(三)

一、子图绘制

# 上节课复习
import pandas as pd
import matplotlib.pyplot as plt
s='../../data/unrate.csv'unrate = pd.read_csv(s)
unrate['DATE'] = pd.to_datetime(unrate['DATE'])
first_twelve = unrate[0:12]
first_twelve
DATEVALUE
01948-01-013.4
11948-02-013.8
21948-03-014.0
31948-04-013.9
41948-05-013.5
51948-06-013.6
61948-07-013.6
71948-08-013.9
81948-09-013.8
91948-10-013.7
101948-11-013.8
111948-12-014.0
plt.plot(first_twelve['DATE'], first_twelve['VALUE'])
plt.xticks(rotation=45)
plt.xlabel('Month')
plt.ylabel('Unemployment Rate')
plt.title('Monthly Unemployment Trends, 1948')
plt.show()

在这里插入图片描述

#add_subplot(first,second,index) first means number of Row,second means number of Column.import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(3,2,1)
ax2 = fig.add_subplot(3,2,2)
ax4=fig.add_subplot(3,2,5)
ax3 = fig.add_subplot(3,2,6)
plt.show()

在这里插入图片描述

import numpy as np
#fig = plt.figure()
fig = plt.figure(figsize=(3, 3))
ax1 = fig.add_subplot(2,1,1)
ax2 = fig.add_subplot(2,1,2)ax1.plot(np.random.randint(1,5,5), np.arange(5))
ax2.plot(np.arange(10)*3, np.arange(10))
plt.show()

在这里插入图片描述

unrate
DATEVALUE
01948-01-013.4
11948-02-013.8
21948-03-014.0
31948-04-013.9
41948-05-013.5
.........
8192016-04-015.0
8202016-05-014.7
8212016-06-014.9
8222016-07-014.9
8232016-08-014.9

824 rows × 2 columns

unrate['MONTH'] = unrate['DATE'].dt.month
unrate['MONTH'] = unrate['DATE'].dt.month
fig = plt.figure(figsize=(6,3))plt.plot(unrate[0:12]['MONTH'], unrate[0:12]['VALUE'], c='red')
plt.plot(unrate[12:24]['MONTH'], unrate[12:24]['VALUE'], c='blue')plt.show()

在这里插入图片描述

fig = plt.figure(figsize=(10,6))
colors = ['red', 'blue', 'green', 'orange', 'black']
for i in range(5):start_index = i*12end_index = (i+1)*12subset = unrate[start_index:end_index]plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i])plt.show()

在这里插入图片描述

fig = plt.figure(figsize=(10,6))
colors = ['red', 'blue', 'green', 'orange', 'black']
#print(help(range))
for i in range(5):start_index = i*12end_index = (i+1)*12subset = unrate[start_index:end_index]label = str(1948 + i)plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i], label=label)
plt.legend(loc='best') 
# print (help(plt.legend))
plt.show()

在这里插入图片描述

fig = plt.figure(figsize=(10,6))
colors = ['red', 'blue', 'green', 'orange', 'black']
for i in range(5):start_index = i*12end_index = (i+1)*12subset = unrate[start_index:end_index]label = str(1948 + i)plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i], label=label)
plt.legend(loc='upper left')
plt.xlabel('Month, Integer')
plt.ylabel('Unemployment Rate, Percent')
plt.title('Monthly Unemployment Trends, 1948-1952')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
from PIL import Image
plt.figure()image1 = Image.open('./desc.png')
image2 = Image.open('./dfs.png')plt.subplot(2, 1, 1)
plt.imshow(image1)
plt.title("desc")
plt.subplot(2, 1, 2)
plt.imshow(image2)
plt.title("space")
plt.show()

在这里插入图片描述

二、柱状图

import pandas as pd
import matplotlib.pyplot as plt
reviews = pd.read_csv('../../data/fandango_scores.csv')
cols = ['FILM', 'RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue']
norm_reviews = reviews[cols]
print(norm_reviews[:5])
                             FILM  RT_user_norm  Metacritic_user_nom  \
0  Avengers: Age of Ultron (2015)           4.3                 3.55   
1               Cinderella (2015)           4.0                 3.75   
2                  Ant-Man (2015)           4.5                 4.05   
3          Do You Believe? (2015)           4.2                 2.35   
4   Hot Tub Time Machine 2 (2015)           1.4                 1.70   IMDB_norm  Fandango_Ratingvalue  
0       3.90                   4.5  
1       3.55                   4.5  
2       3.90                   4.5  
3       2.70                   4.5  
4       2.55                   3.0  

fandango_distribution = norm_reviews['Fandango_Ratingvalue'].value_counts()
fandango_distribution = fandango_distribution.sort_index()imdb_distribution = norm_reviews['IMDB_norm'].value_counts()
imdb_distribution = imdb_distribution.sort_index()print(fandango_distribution)
print(imdb_distribution)
2.7     2
2.8     2
2.9     5
3.0     4
3.1     3
3.2     5
3.3     4
3.4     9
3.5     9
3.6     8
3.7     9
3.8     5
3.9    12
4.0     7
4.1    16
4.2    12
4.3    11
4.4     7
4.5     9
4.6     4
4.8     3
Name: Fandango_Ratingvalue, dtype: int64
2.00     1
2.10     1
2.15     1
2.20     1
2.30     2
2.45     2
2.50     1
2.55     1
2.60     2
2.70     4
2.75     5
2.80     2
2.85     1
2.90     1
2.95     3
3.00     2
3.05     4
3.10     1
3.15     9
3.20     6
3.25     4
3.30     9
3.35     7
3.40     1
3.45     7
3.50     4
3.55     7
3.60    10
3.65     5
3.70     8
3.75     6
3.80     3
3.85     4
3.90     9
3.95     2
4.00     1
4.05     1
4.10     4
4.15     1
4.20     2
4.30     1
Name: IMDB_norm, dtype: int64
fig, ax = plt.subplots()
#ax.hist(norm_reviews['Fandango_Ratingvalue'])
#ax.hist(norm_reviews['Fandango_Ratingvalue'],bins=20)
ax.hist(norm_reviews['Fandango_Ratingvalue'], range=(4, 5),bins=20)
plt.show()

在这里插入图片描述

fig = plt.figure(figsize=(5,20))
ax1 = fig.add_subplot(4,1,1)
ax2 = fig.add_subplot(4,1,2)
ax3 = fig.add_subplot(4,1,3)
ax4 = fig.add_subplot(4,1,4)
ax1.hist(norm_reviews['Fandango_Ratingvalue'], bins=20, range=(0, 5))
ax1.set_title('Distribution of Fandango Ratings')
ax1.set_ylim(0, 50)ax2.hist(norm_reviews['RT_user_norm'], 20, range=(0, 5))
ax2.set_title('Distribution of Rotten Tomatoes Ratings')
ax2.set_ylim(0, 50)ax3.hist(norm_reviews['Metacritic_user_nom'], 20, range=(0, 5))
ax3.set_title('Distribution of Metacritic Ratings')
ax3.set_ylim(0, 50)ax4.hist(norm_reviews['IMDB_norm'], 20, range=(0, 5))
ax4.set_title('Distribution of IMDB Ratings')
ax4.set_ylim(0, 50)plt.show()

在这里插入图片描述

三、箱线图

fig, ax = plt.subplots()
ax.boxplot(norm_reviews['RT_user_norm'])
ax.set_xticklabels(['Rotten Tomatoes'])
ax.set_ylim(0, 5)
plt.show()

在这里插入图片描述

num_cols = ['RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue']
fig, ax = plt.subplots()
ax.boxplot(norm_reviews[num_cols].values)
ax.set_xticklabels(num_cols, rotation=90)
ax.set_ylim(0,5)
plt.show()

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数控6面钻的优缺点

在木工、家具制造和建筑行业中,数控6面钻已成为一种革命性的工具。这种先进的机器以其高效、精准和多功能性受到了广大制造商的青睐。然而,就像任何技术产品一样,数控6面钻也有其优缺点。在本文中,我们将深入探讨数控6面钻的优缺点…

sdwan最低需要多少带宽?SD-WAN带宽配置及应用分析

SD-WAN企业网络连接技术(软件定义广域网)带来更高效、更可靠的网络性能。合理配置带宽对于企业申请SD-WAN线路至关重要。 一、SD-WAN最低带宽要求 SD-WAN的带宽需求与企业的具体情况有关,但一般推荐的最低带宽需求为2Mbps。然而,这只是一个起点&#x…

SAM5808B 法国追梦DREAM 音频DSP芯

法国追梦/DERAM SAM5504/5704/5716/5808音频DSP芯片,开发板,方案 可用于电子鼓、电子琴、电吉他、效果器、均衡器、啸叫抑制器等电声产品领域 一、全系列芯片: SAM2634 SAM2695 SAM5504B SAM5704B SAM5708B SAM5808B SAM5716B SAM5916B... 二…

【前端】vue的基础知识及开发指引

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Vue是什么二、学习 Vue.js 的基础知识三、熟悉 Vue.js 的生态系统四、掌握常用工具和库五、实践和项目开发六、 持续学习和跟进 前言 随着开发语言及人工智…

Docker NetWork (网络)

Docker 为什么需要网络管理 容器的网络默认与宿主机及其他容器都是相互隔离的,但同时我们也要考虑下面的一些问题, 比如 多个容器之间是如何通信的容器和宿主机是如何通信的容器和外界主机是如何通信的容器中要运行一些网络应用(如 nginx、web 应用、数…

基于SpringBoot的“人职匹配推荐系统”的设计与实现(源码+数据库+文档+PPT)_2024-04-1

基于SpringBoot的“人职匹配推荐系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 应聘信息管理界面图 应聘状况…

BTP连接cloud connector中配置的SAP

登录地址 登录之后可以看到我们已经配置成功的后端系统SAP。 从cloud connector中获取location ID ,然后在BTP中配置Destination 选择目标标签页,点击‘新建目标’,如下图: 新建连接 暂时不知道错误原因 创建目标-HTTP  新建目标&…

mp4转3gp怎么转?只需3步~

3gp文件格式最初是为移动电话设计的,旨在降低视频文件的大小以适应移动设备的有限存储空间和带宽。这一格式的产生背景与移动通信技术的发展紧密相连,通过对视频进行高效的压缩,使用户可以在手机上轻松观看视频,满足了当时的需求。…

推荐一个在线stable-diffusion-webui,通过文字生成动画视频的网站-Ai白日梦

推荐一个可以通过文字生成动画视频的网站,目前网站处于公测中,应该是免费的。 点击新建作品 使用kimi或者gpt生成一个故事脚本 输入故事正文 新建作品,选择风格 我这里显示了六个风格,可以根据自己需要选一个 选择配音&…

Win10 搭建 YOLOv8 运行环境(20240423)

一、环境要求 1、Python,版本要求>3.7 2、PyTorch,版本要求>1.7。PyTorch 是一个开源的深度学习平台,为人工智能研究提供了一个灵活的、易于使用的工具集。YOLOv8 是基于 PyTorch 框架实现的,所以需要安装 PyTorch。 3、CUD…

如何使用 Meta AI 根据文本提示生成图片

在数字艺术和设计的世界中,AI 图片生成器已经成为了一种创新工具,它能够根据简短的文本描述来创造出令人惊叹的视觉作品。Meta AI 提供了这样一个平台,让用户可以轻松地将他们的想象变为现实。在本文中,我将指导您如何使用 Meta A…

软件需求分析设计报告(项目需求书Word原件参考)

第3章 技术要求 3.1 软件开发要求 第4章 项目建设内容 第5章 系统安全需求 5.1 物理设计安全 5.2 系统安全设计 5.3 网络安全设计 5.4 应用安全设计 5.5 对用户安全管理 5.6 其他信息安全措施 第6章 其他非功能需求 6.1 性能设计 6.2 稳定性设计 6.3 安全性设计 6.4 兼容性设计…