matplotlib如何知道在此代码中显示什么?

时间:2017-03-04 08:38:44

标签: python python-3.x pandas matplotlib

下面的python代码将显示直方图和散点图的对图。

import pandas as pd
import matplotlib.pyplot as plt

from sklearn import datasets

iris_dataset = datasets.load_iris()
X = iris_dataset.data
Y = iris_dataset.target

iris_dataframe = pd.DataFrame(X, columns=iris_dataset.feature_names)
# create a scatter matrix from the dataframe, color by y_train
grr = pd.scatter_matrix(iris_dataframe, c=Y, figsize=(15, 15), marker='o',
                        hist_kwds={'bins': 20}, s=60, alpha=.8)

plt.show()

让我感到困惑的是plt.show()如何知道要展示什么?我们看不到grr已将代码中的任何位置分配到pltplt如何神奇地知道要显示什么?

1 个答案:

答案 0 :(得分:2)

Pandas使用matplotlib创建其图。完整的绘图已由pandas.scatter_matrix命令创建。

pandas.scatter_matrix的返回是matplotlib轴的数组。这可用于在创建后调整绘图 但是,这不是必需的,因为完整的图已经作为matplotlib图存在。

当调用plt.show()时,简单地绘制matplotlib状态机中存在的任何数字。由于存在图形(=由pandas.scatter_matrix创建的图形),因此将显示它。