下面的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
已将代码中的任何位置分配到plt
。 plt
如何神奇地知道要显示什么?
答案 0 :(得分:2)
Pandas使用matplotlib创建其图。完整的绘图已由pandas.scatter_matrix
命令创建。
pandas.scatter_matrix
的返回是matplotlib轴的数组。这可用于在创建后调整绘图
但是,这不是必需的,因为完整的图已经作为matplotlib图存在。
当调用plt.show()
时,简单地绘制matplotlib状态机中存在的任何数字。由于存在图形(=由pandas.scatter_matrix
创建的图形),因此将显示它。