python - 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
谢谢 !
解决方案
要完成克里斯提供的评论,我建议:
- 转换您的数据框,以便您要绘制的所有列都包含在一列中,使用
pd.melt
. 让我们调用您要绘制的列列表columns_to_plot
df_for_plot = pd.melt(df, value_vars = columns_to_plot)
- 使用 seaborn FacetGrid 将其绘制成单独的图:
g = sns.FacetGrid(df_for_plot, col="variable")
g = g.map(plt.plot, "value")
推荐阅读
- pytorch - 如何理解不满足 Cauchy Reimann 方程的复杂函数的梯度
- oracle - Oracle LogMiner 结果不一致
- powerbi - 如何在 Power BI Dax 中获取最近 3 天的价格
- flutter - 是否在颤振队列中隔离在其端口上接收到的值?如果是,那么我如何确保它仅适用于最新消息?
- c# - 大摇大摆地在 asp.net 中运行
- wso2 - 使用 APIM 4.0.0 配置分析不起作用
- flutter - 将按钮样式更改为默认的 Material Design Flutter
- spring - 在 Spring Boot App 中防止会话劫持的最佳实践是什么?
- typescript - 打字稿 - 得到道具。从部分对象
- c# - 我希望在单击工具条菜单项时将 WinForms 应用程序最小化到系统托盘中