Pandas.plotting不显示图形

2024-04-24 05:09:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在按照“python机器学习简介”一书中的教程进行操作,并复制了以下代码:

#create dataframe from data in X_train
#label the colums using the strings in iris_dataset.features_names
iris_dataframe = pd.DataFrame(X_train, columns = iris_dataset.feature_names)
#create a scatter matrix from the dataframe, color by y_train
pd.plotting.scatter_matrix(iris_dataframe,c=y_train,
                           figsize=(15,15), marker='o', 
                           hist_kwds={'bins':20},s=60, 
                           alpha=.8,
                           cmap=mglearn.cm3)

它应该绘制一个图形,但它只打印这些行:

array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d073934a8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07352908>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07376e48>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d0732ee48>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d072e3f28>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d072e3f60>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07308ac8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07211400>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d071ca470>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07183470>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d071be470>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07165e80>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07127390>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d070e5390>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d0709d390>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07047da0>]], dtype=object)

有人能告诉我原因吗?

编辑解决:我不知道为什么,但是在重新运行单元格后,出现了一个图形。。


Tags: theinfromirisdataframeobjectnamesmatplotlib
2条回答

熊猫本身没有绘图库。大多数用户在打印具有不同命令集的文件时通常使用matplotlib库。假设您安装了所有正确的库(包括matplotlib),我将用以下代码结束您的代码:

import matplotlib.pyplot as plt
#assuming you got the correct conversion to a pandas dataframe  
pd.plotting.scatter_matrix(df,c=y_train,
                       figsize=(15,15), marker='o', 
                       hist_kwds={'bins':20},s=60, 
                       alpha=.8,
                       cmap=mglearn.cm3)


plt.show()

这里有一个link到plt.show()中的matplotlib库,还有一些保存图形的方法,可以在文档here中找到

解决了! 我不知道为什么,但在重新运行了jupyter笔记本的所有单元后,图形显示正确。

相关问题 更多 >