如何绘制熊猫数据框的多列
Posted
技术标签:
【中文标题】如何绘制熊猫数据框的多列【英文标题】: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)
【问题讨论】:
【参考方案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() 进行绘图。这应该可以解决问题。然后,您必须遍历行和列。
【讨论】:
以上是关于如何绘制熊猫数据框的多列的主要内容,如果未能解决你的问题,请参考以下文章