11  Python 可视化:简介

本章简要介绍 Python 可视化的基本概念和一些常用的可视化库。

11.1 可视化的目的

  • 数据分布:了解数据的分布情况,识别异常值和趋势。
  • 数据关系:探索变量之间的关系,识别相关性和因果关系。
  • 数据模式:识别数据中的模式和规律,帮助进行预测和决策。
  • 数据传达:通过图形化的方式传达数据的含义和故事,帮助观众理解数据。

11.2 理念和原则

11.3 主要图形类型

  • data-to-viz.com - 最全面的图形分类

  • matplotlib - 图形种类概览

  • seaborn - 图形种类概览

  • 单变量图:展示单个变量的分布情况,如直方图、箱线图等。

  • 双变量图:展示两个变量之间的关系,如散点图、热力图等。

  • 多变量图:展示多个变量之间的关系,如气泡图、平行坐标图等。

  • 时间序列图:展示随时间变化的数据,如折线图、面积图等。

  • 地理图:展示地理数据,如地图、热力图等。

  • 网络图:展示网络数据,如社交网络图、关系图等。

11.4 同一组数据可以用不同的图形展示

11.5 学习资源

五大扩展包:https://zhuanlan.zhihu.com/p/148748125

帮我补充

11.5.1 在线实例

11.6 Python 绘图命令的基本语法和逻辑

  • file:///D:/Rbook/DSFinance/books/VanderPlas_2023_PDSH_Python_Data_Science_Handbook-2E.pdf#page=281.11,Chap29-35 介绍了很多绘图的语法知识。

11.7 常用的可视化库

  • Matplotlib:最常用的 Python 可视化库,功能强大,支持多种图表类型。
  • Seaborn:基于 Matplotlib 的高级可视化库,提供更美观的默认样式和更简便的接口。
  • Plotly:交互式可视化库,支持多种图表类型,适合 Web 应用。
  • Bokeh:另一种交互式可视化库,适合大数据集和实时数据流。
  • Altair:基于 Vega-Lite 的声明式可视化库,适合快速创建复杂的图表。
  • ggplot:基于 Grammar of Graphics 的可视化库,适合统计图表的创建。
  • Pygal:适合创建 SVG 图表的库,支持多种图表类型。
  • Folium:用于创建交互式地图的库,适合地理数据可视化。
  • Geopandas:用于处理地理数据的库,支持空间数据的可视化。
  • NetworkX:用于创建和可视化网络图的库,适合社交网络分析。
import matplotlib.pyplot as plt
import numpy as np

from matplotlib.patches import Ellipse

# Fixing random state for reproducibility
np.random.seed(19680801)

NUM = 250

ells = [Ellipse(xy=np.random.rand(2) * 10,
                width=np.random.rand(), height=np.random.rand(),
                angle=np.random.rand() * 360)
        for i in range(NUM)]

fig, ax = plt.subplots()
ax.set(xlim=(0, 10), ylim=(0, 10), aspect="equal")

for e in ells:
    ax.add_artist(e)
    e.set_clip_box(ax.bbox)
    e.set_alpha(np.random.rand())
    e.set_facecolor(np.random.rand(3))

plt.show()

11.8 手绘风格的图形

11.9 按在地上摩擦

20250512002745

11.10 动图-交互图