Matplotlib #
基本概念 #
import matplotlib.pyplot as plt
fig, ax = plt.subplots() # Create a figure containing a single axes.
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]); # Plot some data on the axes.
plt.plot(x, y)
用绘制图形,plt.show()
用于显示图形,但是在 Jupyter
中,即使没有 show()
也会显示出来。
二维数据 #
pcolor
三维图形 #
surface
Seaborn #
https://github.com/mwaskom/seaborn
Seaborn 是一个基于 Matplotlib 的高级可视化库,提供了更美观、更复杂的图表,支持绘制统计图、分类图、时间序列图、热力图、小提琴图等。
Plotnine #
https://github.com/has2k1/plotnine
plotnine 是 Python 中的一个实现 R 中 ggplot2 的可视化库,它使用了类似 ggplot2 的语法,提供了丰富的图表类型,并且支持高度的定制。
plotnine 基于 matplotlib,因此可以使用 matplotlib 的一些功能,如图表的保存、调整和交互等。同时,plotnine 的语法比 matplotlib 更为简洁和直观,可以帮助用户更快地实现各种图表。plotnine 还可以方便地使用 pandas 数据框进行数据处理,支持多种数据格式的导入和处理。
Plotly #
https://github.com/plotly/plotly.py
Plotly 是一个交互式的可视化库,支持绘制线图、散点图、条形图、饼图、热力图、等高线图等,并且可以通过鼠标交互进行放大缩小、拖动等操作。有多种语言实现:
此外 Python + JavaScript 结合甚至发展出了 Dash 这个产品,并提供商业版,也说明完成度和产品化都很到位。对于很多特定场景需要交互式,或者数据量比较大需要展开细节,或者需要做成在线服务,都可以先考虑试用下 Dash 的开源版。
Altair #
https://github.com/altair-viz/altair
Altair 是一个基于 Vega-Lite 的声明式可视化库,提供了简单的 API 和高度可定制的图表,支持绘制线图、散点图、条形图、堆叠图等。
Bokeh #
Bokeh 是一个交互式的可视化库,支持绘制线图、散点图、条形图、热力图、地图等,并且可以通过 JavaScript 实现交互功能,适合需要交互性和大数据集支持的应用程序。