从不同子图中的每一列绘制seaborn直方图(facetgrid)

我的结构遵循熊猫数据帧:


n    X              Y          Z

0   1.000000    1.000000    1.014925    

1   1.000000    1.000000    1.000000    

我想从每列创建 M 个单独的子图(直方图)。一张直方图来自 X,一张来自 Y,最后一张来自 Z。


我希望它有不同的情节。我正在查看https://seaborn.pydata.org/generated/seaborn.FacetGrid.html,但我不明白如何从我的数据中绘制它的语法/逻辑。


侃侃尔雅
浏览 233回答 3
3回答

元芳怎么了

您可以使用plotPandas 数据框的内置方法和subplots=True按列绘图的选项from io import StringIOimport pandas as pdimport matplotlib.pyplot as pltplt.style.use('seaborn')# Here I read your example data indf = pd.read_fwf(StringIO("""    X              Y          Z0   1.000000    1.000000    1.014925    1   1.000000    1.000000    1.000000"""), header=1, index_col=0)# Plotting as desireddf.plot.hist(subplots=True, legend=False)df.plot 需要很多其他参数来让你轻松地改变你的情节,例如df.plot.hist(subplots=True, legend=True, layout=(1, 3))

有只小跳蛙

使用seaborn.FacetGrid可能需要您重构数据。让我们看一个例子:np.random.seed(0)df = pd.DataFrame(np.random.randn(1000, 3), columns=['X', 'Y', 'Z'])print(df.head(10))          X         Y         Z0  1.764052  0.400157  0.9787381  2.240893  1.867558 -0.9772782  0.950088 -0.151357 -0.1032193  0.410599  0.144044  1.4542744  0.761038  0.121675  0.4438635  0.333674  1.494079 -0.2051586  0.313068 -0.854096 -2.5529907  0.653619  0.864436 -0.7421658  2.269755 -1.454366  0.0457599 -0.187184  1.532779  1.469359df_melted = df.melt(var_name='column')print(df_melted.head(10))  column     value0      X  1.7640521      X  2.2408932      X  0.9500883      X  0.4105994      X  0.7610385      X  0.3336746      X  0.3130687      X  0.6536198      X  2.2697559      X -0.187184g = sns.FacetGrid(df_melted, row='column')g.map(plt.hist, 'value')[出去]

慕标5832272

sns.pairplot(your_df)会这样做,但是它也会向您显示每列的成对散点图,所以是的,它会做得比您需要的多一点?在进行探索性数据分析时很好。您还可以通过添加corner=True到呼叫来使其更清晰。或者类似的东西:# Update as neededn_rows=1n_cols=3# Create the subplotsfig, axes = plt.subplots(nrows=n_rows, ncols=n_cols, figsize=(10, 10))for i, column in enumerate(df):    sns.histplot(df, ax=axes[i // n_cols, i % n_cols]).set_title(column)https://seaborn.pydata.org/generated/seaborn.pairplot.htma
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python