透视Matplotlib核心功能和工具包 - 面向对象API

如“透视Matplotlib核心功能和工具包 - 结构”所述,Matplotlib具有三层体系结构,顶层称为脚本层,并通过pyplot()API实现。 该API是为没有太多编程经验的用户设计的,因此它使用户免受使用底部两层(美工和后端)创建和渲染图的复杂性的困扰。 对于使用高级功能(例如补丁,集合,使用事件,回调,动画和窗口小部件的交互式绘图)的复杂应用程序,我们将必须使用面向对象的API。 但是,要利用此API的全部潜能,需要大量的Python编码经验。 随着新版本Matplotlib的发布,越来越多的这些功能正在转移到pyplot API中,从而减少了对面向对象API的依赖。

面向对象的API名称有点令人困惑,因为它可能给人的印象是pyplot API不是面向对象的,这是不正确的。 它仅意味着面向对象的API会直接使用美工和后端层,而绕过脚本层(不使用pyplot API)。 它提供了使用Matplotlib提供的完整功能的灵活性,而pyplot API提供了其中的一部分。

使用pyplot和API绘制相关矩阵

在此,我们将了解pyplot和面向对象的API之间的区别。 我们将首先使用pyplot API然后再使用面向对象的API绘制相同的相关矩阵。 我们将使用相同的葡萄酒质量数据集绘制相关矩阵。

  • 为pyplot API导入以下库:

import pandas as pd
import matplotlib.pyplot as plt



*   为面向对象的API导入以下库:

    ```
import pandas as pd
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from IPython.core.display import display

matplotlib.backends具有它支持的一组后端。 在这里,我们将导入FigureCanvasAgg,它提供了用于绘制图形的空间并将其映射到定义的后端设备。

IPython.core.display允许将绘图显示到输出设备上。

以下代码块使用pandas读取数据并使用pyplot API绘制相关矩阵。 这与我们在”透视Matplotlib核心功能和工具包 - 基础绘图“中绘制热图的方式相同:

  1. 将数据从CSV文件读取到pandas DataFrame中:
wine_quality = pd.read_csv('winequality.csv', delimiter=';')
  1. 获取wine_quality所有属性的相关矩阵:
corr = wine_quality.corr()
  1. 定义图形的大小,并绘制图像和相关的颜色条:
plt.figure(figsize=(12,9))
plt.imshow(corr,cmap='hot')
plt.colorbar()
  1. 设置图形的标题和对号,并将其显示在屏幕上:
plt.title('Correlation Matrix')
plt.xticks(range(len(corr)),corr.columns, fontsize=10, fontweight='bold',rotation=45)
plt.yticks(range(len(corr)),corr.columns)

plt.show()

我们已经熟悉了前面代码块中的所有命令,因为我们已经在”透视Matplotlib核心功能和工具包 - 基础绘图“和透视Matplotlib核心功能和工具包 - 可视化开发中学习了它们。

以下代码块使用面向对象的API(不使用pyplot API)绘制相同的关联图:

  1. 将数据从CSV文件读取到pandas DataFrame中:
wine_quality = pd.read_csv('winequality.csv', delimiter=';')
  1. 获取wine_quality所有属性的相关矩阵:

详情参阅 - 亚图跨际

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值