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

标签 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 未被分配到 plt 代码中的任何位置。 plt 如何神奇地知道要显示什么?

最佳答案

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

pandas.scatter_matrix 的返回值是一个 matplotlib 坐标轴数组。创建后可用于调整剧情。
然而,这不是必需的,因为完整的图已经作为 matplotlib 图存在。

当调用 plt.show() 时,matplotlib 状态机中的任何图形都会被简单地绘制出来。由于存在一个图形(=由 pandas.scatter_matrix 创建的图形),它将被显示。

关于python - matplotlib 如何知道要在此代码中显示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42593933/

相关文章:

python - 转置/解压缩功能(zip的倒数)?

python - 是否有可能在 numpy 中使用高级列表切片并仍然获得 View ?

python - 获得一个数字的所有除数的最佳方法是什么?

python-3.x - 具有互补零的 Pandas 标志行

python - list.clear() 与 list = [] 有何不同?

python - 比较数据框中每列的前一行值

python - 只读取大型 JSON 中的特定字段并导入 Pandas Dataframe

python - Pandas - 列值转换

python - FreqDist 中的平方和值,python

python - 获取 Python 函数所需的参数