【问题标题】:how to plot many columns of Pandas data frame如何绘制熊猫数据框的多列
【发布时间】:2020-07-28 10:15:03
【问题描述】:

我需要使用波士顿住房数据集制作散点图。我想用 MEDV 列绘制所有其他列。此代码使所有绘图都在同一个图表上。我怎样才能将它们分开?enter image description here

import matplotlib.pyplot as plt
%matplotlib inline
fig, axes = plt.subplots(nrows=3, ncols=2, figsize=(12, 12))
for column, ax in zip(['CRIM', 'ZN','INDUS', 'CHAS', 'NOX', 'RM'], axes):
    plt.scatter(boston_df[column], boston_df.MEDV)

【问题讨论】:

    标签: python pandas matplotlib scatter-plot subplot


    【解决方案1】:

    如果您将axes 对象展平,您的代码将起作用,因为目前您正在循环一次axes,这是一个二维对象。所以在 for 循环中使用axes.flatten(),然后使用ax.scatter,它将每列绘制到一个新图形。

    绘制的顺序是第一行,然后是第二行,然后是第三行

    fig, axes = plt.subplots(nrows=3, ncols=2, figsize=(12, 12))
    for column, ax in zip(['CRIM', 'ZN','INDUS', 'CHAS', 'NOX', 'RM'], axes.flatten()):
        ax.scatter(boston_df[column], boston_df.MEDV)
    

    【讨论】:

      【解决方案2】:

      您需要使用ax.scatter 而不是plt.scatter,以便它们在您创建的轴上绘图。

      【讨论】:

        【解决方案3】:

        尝试使用 ax[row,col].scatter() 进行绘图。这应该可以解决问题。然后,您必须遍历行和列。

        【讨论】:

          猜你喜欢
          • 2018-02-10
          • 2017-06-09
          • 1970-01-01
          • 1970-01-01
          • 2015-03-29
          • 2016-01-07
          • 2018-05-26
          • 2018-11-21
          相关资源
          最近更新 更多