porno

Hacklink

Hacklink Panel

Hacklink panel

Agb99

Hacklink

Hacklink panel

Backlink paketleri

Hacklink Panel

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Eros Maç Tv

Hacklink panel

Hacklink panel

taraftarium24

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Illuminati

Hacklink

Hacklink Panel

Hacklink

Hacklink Panel

Hacklink panel

Hacklink Panel

Hacklink

Masal oku

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

https://ort.org/signup.php

Hacklink

Hacklink panel

Postegro

Masal Oku

Hacklink

romabet

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Best Porn Sites

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink Panel

Hacklink

websiteseochecker

Hacklink

Hacklink

Buy Hacklink

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Masal Oku

Hacklink panel

bbo303

Hacklink

Hacklink

หวยออนไลน์

Hacklink

Hacklink satın al

Hacklink Panel

nakitbahis

nakitbahis

jojobet

jojobet giriş

hititbet

firma rehberi

jojobet giriş

Elexbet

sekabet

1xbet

royalbet

mavibet

Suratbet

marsbahis

tarabet güncel

bahiscasino

casino siteleri

bahislion

deneme bonusu veren siteler

bahsegel

casinolevant

madridbet

jojobet giriş

casibom

casibom

betzula

pashagaming

marsbahis giriş

enbet

deneme bonusu veren yeni siteler

interbahis

jojobet giriş

meritking giriş

marsbahis giriş

sweet bonanza

piabellacasino

kulisbet

dinamobet

betcio

kulisbet

markajbet

bahiscasino

betebet

jojobet

marsbahis

primebahis

hititbet

artemisbet

artemisbet giriş

nakitbahis

nakitbahis giriş

marsbahis

marsbahis giriş

bahiscasino

bahiscasino

betnano

betnano

casivera

casivera

betkolik

betkolik

odeonbet

betcio

sekabet

betcio

celtabet

celtabet

efesbet

efesbet

odeonbet giriş

atlasbet

atlasbet

aresbet

aresbet

millibahis

millibahis

betlike

betlike

wojobet

wojobet

interbahis

interbahis

casivera

casivera

vipslot

vipslot

romabet

romabet

palacebet

palacebet

betpipo

betpipo

teosbet

teosbet

enobahis

enobahis

kralbet

kralbet

ibizabet

ibizabet

enbet

enbet

romabet

romabet

teosbet

teosbet

sonbahis

sonbahis

alobet

alobet

masterbetting

masterbetting

kingbetting

kingbetting

palacebet

palacebet

mavibet

mavibet

megabahis

megabahis

holiganbet

holiganbet

elitcasino

elitcasino giriş

zirvebet

hızlıcasino

hızlıcasino giriş

zirvebet

lunabet

lunabet giriş

matbet

betsmove

grandpashabet

marsbahis

casibom

vdcasino

jojobet güncel giriş

Hacklink panel

kingroyal

kingroyal

madridbet

meritking

meritking giriş

pusulabet

madridbet

madridbet giriş

kingroyal

imajbet

kingroyal giriş

kingroyal

kingroyal giriş

meritking

meritking giriş

grandpashabet

casinoroyal

imajbet

palacebet

pusulabet

kingroyal

madridbet

vidobet

编程

python可视化——气泡图的绘制

chenmo · 2月15日 · 2021年 · 本文共25410个字 · 预计阅读85分钟2731次已读
python可视化——气泡图的绘制

python可视化——图的绘制(气泡图)

00 前言

大学期间毕业论文以及大创项目都使用到了python进行机器学习,虽然机器学习部分并不是很深入,但是涉及的面对于目前的我来说仍然有些广泛。除了对数据的处理让我有些吃力,绘图更是让零基础的我摸不着头脑。之前都是直接从网上搜集到的代码,也没有去深入解读每一行的意思,思来想去,这样始终不是解决问题的办法,因此,打算从目前开始好好地把绘图部分整理一下。

 

01 概述

气泡图(Bubble)是一种多变量图表,是散点图 的变体,也可以认为是散点图和百分比区域图的组合。 其可用于展示三个变量之间的关系,和散点图一样,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则用气泡的大小来表示。

排列在工作表的列中的数据(第一列中列出x值,在相邻列中列出相应的y值和气泡大小的值)可以绘制在气泡图中。

气泡图与散点图相似,不同之处在于:气泡图允许在图表中额外加入一个表示大小的变量进行对比,而第四维度的数据则可以通过不同的颜色来表示(甚至在渐变中使用阴影来表示)。

另一种使用气泡元素的流行方法是使用气泡地图。在气泡地图中,x和y分别代表一个地理位置的经纬坐标。在不要求定位非常精确的情况下,气泡地图可以将数据的相对集中度完美地体现在地理背景中。

此外,表示时间维度的数据时,可以将时间维度作为直角坐标系中的一个维度,或者结合动画来表现数据随着时间的变化情况。

气泡图通常用于比较和展示不同类别圆点(这里我们称为气泡)之间的关系,通过气泡的位置以及面积大小。从整体上看,气泡图可用于分析数据之间的相关性。

但需要注意的是,气泡图的数据大小容量有限,气泡太多会使图表难以阅读。但是可以通过增加一些交互行为弥补:隐藏一些信息,当鼠标点击或者悬浮时显示,或者添加一个选项用于重组或者过滤分组类别。

最后,气泡的大小是映射面积而非半径或直径,如果是基于半径或者直径,圆的大小不仅会呈现指数级的变化,而且还会导致视觉上的误差。如图1所示。

python可视化——气泡图的绘制

▲图1 气泡图

 

02 Matplotlib

由于是零基础,所以直接使用现成的库会轻松很多,先从Matplotlib库开始介绍一些必要的参数吧。

贴上详细的介绍:Matplotlib 教程

介绍

Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。

pylab

pylab 是 matplotlib 面向对象绘图库的一个接口。它的语法和 Matlab 十分相近。也就是说,它主要的绘图命令和 Matlab 对应的命令有相似的参数。

初始实例

先从正弦余弦函数图像开始吧。

python可视化——气泡图的绘制

  • X 是一个 numpy 数组,包含了从 −π 到 +π 等间隔的 256 个值。
  • C 和 S 则分别是这 256 个值对应的余弦和正弦函数值组成的 numpy 数组。
  • plot函数
  • xlim / ylim函数
  • legend函数

plot函数

函数功能:

展现变量的趋势变化。

函数语法:

参数说明:

y: y轴上的数值

ls:折线图的线条风格('-', '–', '-.', ':', 'None', ' ', '', 'solid', 'dashed', 'dashdot', 'dotted')

lw:折线图的线条宽度

label:标记图内容的标签文本(需要结合legend使用)

注意:上面格式中单引号和双引号可以相互替换

legend函数

函数功能:

设置图例的字体、大小、颜色等属性,制定个性化。

函数语法:

参数说明:

loc:指代地理位置(upper lower / right left)

其余参数见:legend参数详解

注意:如果在plot设置了label参数,需要加上legend函数,才可以显示label。

 

03 散点图

1 plot绘制

python可视化——气泡图的绘制

2 scatter绘制

python可视化——气泡图的绘制

scatter函数

函数功能:

根据x, y坐标,绘制散点;可更改点的颜色(c)、大小(s)、形状(marker)等

函数语法:

参数说明:

x:指定 X 轴数据。

y:指定 Y 轴数据。

s:指定散点的大小。

c:指定散点的颜色。

alpha:指定散点的透明度。

linewidths:指定散点边框线的宽度。

edgecolors:指定散点边框的颜色。

marker:指定散点的图形样式。

cmap:指定散点的颜色映射,会使用不同的颜色来区分散点的值。

其余参数见:scatter参数详解

与plot区别:scatter绘制散点,plot绘制经过点的曲线。

简单的散点图,用plot方法绘制速度会更快,scatter方法则慢一点,所以只有当颜色和大小超过了一定数量时,才推荐使用scatter方法。

04 气泡图

易知,scatter更适合绘制复杂的气泡图。

python可视化——气泡图的绘制

scatter.legend_elements函数

scatter函数的返回值为一个PathCollections对象,通过其legend_elements方法,可以获得绘制图例所需的信息.

1. 颜色图例

legend_elements方法默认返回的就是colors的信息,可以直接用于绘制图例,代码如下

注意,其中*号是必须的,上述代码会将所有颜色都显示在图例上,输出结果如下

python可视化——气泡图的绘制

当颜色的值为连续型变量时,采用colorbar的图例更加直观,代码如下

输出结果如下

python可视化——气泡图的绘制

2. 点的大小图例

legend_elements方法是有很多参数可以调整的,其中prop参数指定返回的信息,有两种取值,默认是colors, 表示返回的是点的颜色信息,取值为sizes时,返回的是点的大小信息。另外还有一个参数是num, 当图例的取值为连续型时,num指定了图例上展示的点的个数,用法如下

输出结果如下

python可视化——气泡图的绘制

3. 组合图例

上述的可视化效果都比较简单,通过matplotlib.pyplot就可以搞定了,对于图例的组合,需要借助axes来实现,代码如下

输出结果如下

python可视化——气泡图的绘制

从这里也可以看出,对于简单的图片展示,pyplot模块为我们提供了便利,但是复杂的图形组合,还是需要用axes来实现。

 

05 参考文献

  1. matplotlib基础绘图命令之scatter
  2. 什么是气泡图?怎样用Python绘制?怎么用?终于有人讲明白了
  3. 用python的Matplotlib库画散点图、气泡图和箱线图
  4. Python Matplotlib.axes.Axes.add_artist()用法及代码示例
  5. 在Python中用matplotlib作图时,若多个子图的图例相同,那怎样将该图例在总图上显示出来?
  6. Matplotlib 教程

 

0 条回应