我有两个或三个具有相同标题的csv文件,并希望绘制同一列上彼此重叠的每一列的直方图。
以下代码为我提供了两个单独的图形,每个图形都包含每个文件的所有直方图。是否有一种紧凑的方法可以使用pandas / matplotlib将它们一起绘制在同一图形上?我想象接近于此但使用数据框。
码:
import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('input1.csv') df2 = pd.read_csv('input2.csv') df.hist(bins=20) df2.hist(bins=20) plt.show()
In [18]: from pandas import DataFrame
In [19]: from numpy.random import randn In [20]: df = DataFrame(randn(10, 2)) In [21]: df2 = DataFrame(randn(10, 2)) In [22]: axs = df.hist() In [23]: for ax, (colname, values) in zip(axs.flat, df2.iteritems()): ....: values.hist(ax=ax, bins=10) ....: In [24]: draw()
给