写点什么

Python 数据可视化:如何选择合适的图表可视化?

  • 2022-11-29
    北京
  • 本文字数:1739 字

    阅读完需:约 6 分钟

Python数据可视化:如何选择合适的图表可视化?

最近在学习嵌入式 Linux,没系统掌握前暂时没办法输出相关的博文,最近准备先分享一些 Python 数据可视化的相关知识。

对 Python、数据分析、数据可视化技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、收藏、关注支持~

本篇文章为 Python 数据可视化第一篇,讲解如何选择合适的图表进行数据可视化。

国外专家 Nathan Yau 总结了数据可视化过程中要经历的 4 个过程。

  • 你拥有什么样的数据(What data do you have) ?

  • 你想表达什么样的数据信息(What do you want to know about your data) ?

  • 你应该采用什么样的数据可视化方法(What visualization methods should youuse) ?

  • 你从图表中能获得什么样的数据信息(What do you see and does it makessense)?

如下图所示:

其中,你应该采用什么样的数据可视化方法尤为关键,这就需要我们了解有哪些图表类型来可视化数据。

根据表达数据的侧重内容点,将图表类型分为 6 大类:类别比较图表、数据关系图表、数据分布图表、时间序列图表、局部整体图表和地理空间图表(有些图表也可以归类于两种或多种图表类型)。

1、类别比较图表

类别比较型图表的数据一般分为:数值型和类别型两种数据类型,主要包括:柱形图、条形图、雷达图、坡度图、词云图等,通常用来比较数据的规模。如下所示:


2、数据关系图表

数据关系型图表分为数值关系型、层次关系型和网络关系型三种图表类型。

  • 数值关系型图表主要展示两个或多个变量之间的关系,包括最常见的散点图、气泡图、曲面图、矩阵散点图等。该图表的变量一般都为数值型,当变量为 1~3 个时,可以采用散点图、气泡图、曲面图等;当变量多于 3 个时,可以采用高维数据可视化方法,如平行坐标系、矩阵散点图、径向坐标图、星形图和切尔诺夫脸谱图等。

  • 层次关系型图表着重表达数据个体之间的层次关系,主要包括包含和从属两类,比如公司不同部门的组织结构,不同洲的国家包含关系等,包括节点链接图、树形图、冰柱图、旭日图、圆填充图、矩形树状图等。

  • 网络关系型图表是指那些不具备层次结构的关系数据的可视化。与层次关系型数据不同,网络关系型数据并不具备自底向上或者自顶向下的层次结构,表达的数据关系更加自由和复杂,其可视化的方法常包括:桑基图、和弦图、节点链接图、弧长链接图、蜂箱图等。

如下图所示:


3、数据分布图表

数据分布型图表主要显示数据集中的数值及其出现的频率或者分布规律,包括统计直方图、核密度曲线图、箱形图、小提琴图等。如下图所示:

其中,统计直方图最为简单与常见,又称质量分布图,由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据类型,纵轴表示分布情况。

4、时间序列图表

时间序列型图表强调数据随时间的变化规律或者趋势,X 轴一般为时序数据,Y 轴为数值型数据,包括折线图、面积图、雷达图、日历图、柱形图等。如下图所示:

其中,折线图是用来显示时间序列变化趋势的标准方式,非常适用于显示在相等时间间隔下数据的趋势。

5、局部整体图表

局部整体型图表能显示出局部组成成分与整体的占比信息,主要包括饼图、圆环图、旭日图、华夫饼图、矩形树状图等。

饼图是用来呈现部分和整体关系的常见方式,在饼图中,每个扇区的弧长(以及圆心角和面积)大小为其所表示的数量的比例。但要注意的是,这类图很难去精确比较不同组成的大小。

6、地理空间图表

地理空间型图表主要展示数据中的精确位置和地理分布规律,包括等值区间地图、带气泡的地图、带散点的地图等。地图用地理坐标系可以映射位置数据。位置数据的形式有许多种,包括经度、纬度、邮编等。但通常都是用纬度和经度来描述的。

Python 的 GeoPandas 包可以读取 SHP 和 GEOJSON 等格式的地理空间数据,使用 plot()函数或者 ggplot()函数可以绘制地理空间型图表。


《地图管理条例》第十五条规定:“国家实行地图审核制度。向社会公开的地图,应当报送有审核权的测绘地理信息行政主管部门审核。但是,景区图、街区图、地铁线路图等内容简单的地图除外。”

绘制这些不同类型的图表,主要使用 matplotlib、plotnine、Seaborn 等包。对于二维直角坐标系下的图表,主要使用 plotnine 和 Seaborn;对于极坐标系和三维直角坐标系下的图表,则需要使用 matplotlib 绘制以上不同类别的图表。

这些图表的绘制方法在后面的文章都会进行详细讲解。

发布于: 刚刚阅读数: 3
用户头像

【研究方向】物联网、嵌入式、AI、Python 2018-02-09 加入

嵌入式工程师,创客爱好者,公众号:美男子玩编程,全网粉丝10万+。 CSDN博客专家、微软IoT领域MVP、华为云云享专家、阿里云专家博主、知乎认证科学技术领域答主。

评论

发布
暂无评论
Python数据可视化:如何选择合适的图表可视化?_Python_不脱发的程序猿_InfoQ写作社区