首页 > 解决方案 > Pandas - 在一个小的多重图表中绘制数据框的每一列

问题描述

我有一个包含 35 个特征的数据集。我想在一个小的多图表类型中绘制每个功能,如下所示:

例子

现在,我可以使用以下代码一一绘制特征:

# libraries and data
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd


# Make a data frame
df=pd.read_csv("mydataset.csv")
df.plot(y="feature1")

我怎样才能达到上图中显示的结果?我需要类似的东西:

# read the data in a Dataframe object
# for each feature (column):
#   plot the feature in the final small multiple chart
# render the full final chart

谢谢 !

标签: pythonpandasdataframematplotlibcharts

解决方案


要完成克里斯提供的评论,我建议:

  1. 转换您的数据框,以便您要绘制的所有列都包含在一列中,使用pd.melt. 让我们调用您要绘制的列列表columns_to_plot
df_for_plot = pd.melt(df, value_vars = columns_to_plot)
  1. 使用 seaborn FacetGrid 将其绘制成单独的图:
g = sns.FacetGrid(df_for_plot, col="variable")
g = g.map(plt.plot, "value")

推荐阅读