首页 > 其他分享 >Matplotlib可视化50图:气泡图(2)

Matplotlib可视化50图:气泡图(2)

时间:2022-12-05 12:24:43浏览次数:52  
标签:Brazil plt 14 50 Matplotlib years 可视化 Ireland size

导读

本文将学习如何使用 PythonMatplotlib 库通过示例绘制气泡图。

简介

气泡图是散点图的改进版本。在散点图中,有两个维度 x 和 y。在气泡图中,存在三个维度 x、y 和 z。其中第三维 z 表示权重。这样,气泡图比二维散点图在视觉上提供了更多信息。

数据准备

对于本教程,我将使用包含加拿大移民信息的数据集。它拥有从 1980 年到 2013 年的数据,其中包括来自 195 个国家/地区的移民人数。导入必要的包和数据集:

import numpy as np  
import pandas as pd 
df = pd.read_excel('https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx',
                       sheet_name='Canada by Citizenship',
                       skiprows=range(20),
                       skipfooter=2)

数据集太大。所以,我不能在这里显示完整截图。让我们看看列的名称。

dataset

我们不会使用很多列。我只是删除了这些列并将国家名称(“OdName”)设置为索引。

df = df.drop(columns = ['Type', 'Coverage', 'AREA', 'AreaName',      'REG', 'RegName', 'DEV', 'DevName',]).set_index('OdName')
df.head()

example

我为这个练习选择了爱尔兰和巴西的数据。没有特殊原因。我随机选择了它们。

Ireland = df.loc['Ireland']
Brazil = df.loc['Brazil']

归一化

有几种不同的方法可以归一化数据。我们将数据归一化以使数据处于相似的范围内。爱尔兰和巴西的移民数据有不同的范围。我需要将它们调整到 0 到 1 的范围内。我只是将爱尔兰数据除以爱尔兰数据系列的最大值。我对巴西的数据系列做了同样的事情。

i_normal = Ireland / Ireland.max()
b_normal = Brazil / Brazil.max()

我们将根据年份绘制爱尔兰和巴西的数据。将年份列在清单上会很有用。

years = list(range(1980, 2014))

可视化

为了看看区别,让我们先绘制散点图。

import matplotlib.pyplot as plt
plt.figure(figsize=(14, 8))
plt.scatter(years, Ireland, color='blue')
plt.scatter(years, Brazil, color='orange')
plt.xlabel("Years", size=14)
plt.ylabel("Number of immigrants", size=14)
plt.show()

scatter

现在,绘制气泡图。我们必须输入我们之前定义的尺寸。

plt.figure(figsize=(12, 8))
plt.scatter(years, Brazil, 
                  color='darkblue', 
                 alpha=0.5,
                 s = b_normal * 2000)
plt.scatter(years, Ireland, 
                  color='purple', 
                 alpha=0.5,
                 s = i_normal * 2000,
                 )
plt.xlabel("Years", size=14)
plt.ylabel("Number of immigrants", size=14)

bubble

我们可以通过气泡的大小来了解移民的数量。气泡越小,移民人数越少。

我们也可以让结果更多彩多姿。为了让它有点意义,我们需要对数据系列进行排序。您很快就会看到原因。

c_br = sorted(Brazil)
c_fr = sorted(France)

现在我们将传递这些值来改变颜色。

plt.figure(figsize=(12, 8))
plt.scatter(years, Brazil, 
                  c=c_br,
                 alpha=0.5,
                 s = b_normal * 2000)
plt.scatter(years, Ireland, 
                  c=c_fr,
                 alpha=0.5,
                 s = i_normal * 2000,
                 )
plt.xlabel("Years", size=14)
plt.ylabel("Number of immigrants", size=14)

result

现在我们添加了另一个维度,颜色。颜色随移民数量变化。但是当我们绘制两个变量时,它并没有那么好。因为在这个过程中我们没有明确定义各个变量的颜色。但是当我们在 y 轴上绘制一个变量时,它做得很好。让我们绘制每年来自巴西的移民人数,以了解多年来的趋势。

plt.figure(figsize=(12, 8))
plt.scatter(years, Brazil, 
                  c=c_br,
                 alpha=0.5,
                 s = b_normal * 2000)
plt.xlabel("Years", size=14)
plt.ylabel("Number of immigrants of Brazil", size=14)

color


欢迎Star -> 学习目录

更多教程 -> 学习目录


本文由mdnice多平台发布

标签:Brazil,plt,14,50,Matplotlib,years,可视化,Ireland,size
From: https://www.cnblogs.com/swindler/p/16951938.html

相关文章

  • 光点大屏数据可视化,让数据更智能_光点科技
    进入大数据信息时代,各行业越来越重视数据价值的发展。要充分发挥数据时代的价值,需要系统地收集、结合、分析和可视化数据信息。数据可视化是数据应用价值最直观的体现,已成为......
  • matplotlib相关内容
    matplotlib相关内容中文标题乱码加上下面的代码就可以,同时SimHei是字体的意思,可以替换成自己电脑中存在的字体plt.rcParams["font.sans-serif"]=["SimHei"]......
  • 不懂业务不清楚指标?这40套可视化大屏模板,让你突破职场天花板
    报表可以说是中国职场的一大特色,不少职场人需要每天做各种报表给领导或者业务决策者看,为此甚至诞生了不少的“表哥表姐”。但很多人在做报表的时候其实并不懂业务,需要找业务......
  • 洛谷P2504聪明的猴子
    思路:最小生成树1#include<cstdio>2#include<cstdlib>3#include<iostream>4#include<cstring>5#include<cmath>6#include<algorithm>7#include<vecto......
  • 【MindStudio训练营第一季】MindStudio 可视化AI应用开发体验随笔
    MindStudioMindStudio提供一站式AI开发环境,依靠工具与性能调优,采用插件化扩展机制,打造高效、便捷的全流程开发工具链。目前最新版本是5.0.RC3,发布于2022年20月,对应的昇腾......
  • Matplotlib绘制透明背景的折线图
    Matplotlib是Python中最著名的绘图库,使用matplotlib.pyplot来绘制论文实验部分所需的折线图。基础知识所涉及到的要素有:一个figure包含两个子图,用subplot实现图片直......
  • 004爬虫之获取豆瓣TOP250电影数据
    今天我们继续通过正则表达式解析页面源代码,获取的网页为豆瓣TOP250,具体网址为:https://movie.douban.com/top250今天的主要思路:1、获取网页源代码;2、通过正则表达式解析......
  • 企业大数据可视化案例专题分享-入门
    一、什么是数据可视化?  基本概念:数据可视化是以图示或图形格式表示的数据。让决策者可以看到以直观方式呈现的分析,以便他们可以掌握困难的概念或识别新的模式。借助交互式......
  • CV工具:可视化工具wandb(三) 实战
    完整翻译文档效率太低,以后从实战入手记录重要的信息1.代码示例importwandbconfig=dict(learning_rate=0.01,momentum=0.2,architecture="CNN",......
  • 商业数据可视化
    今天才发现,原来我们做presentation也不完全是学术场合,在某种意义上也能算作一种商业场合,在画图时更应该考虑大家是否能快速的(15s法则)从一张图中得出结论,而不是用软件疯狂画......