Python 将多个数据帧中的多个直方图合并为一个直方图

Python 将多个数据帧中的多个直方图合并为一个直方图,python,pandas,Python,Pandas,我是python和pandas的初学者 我有三个CSV数据。我想从这三个数据帧中制作一个直方图。 我用了这个密码 import pandas as pd from matplotlib import pyplot as plt X = pd.read_csv("data1.csv") Y = pd.read_csv("data2.csv") Z = pd.read_csv("data3.csv") X.hist(column='speed', weights=X.ID,figsize=(20,

我是python和pandas的初学者 我有三个CSV数据。我想从这三个
数据帧
中制作一个直方图。 我用了这个密码

import pandas as pd
from matplotlib import pyplot as plt
X = pd.read_csv("data1.csv")
Y = pd.read_csv("data2.csv")
Z = pd.read_csv("data3.csv")

X.hist(column='speed', weights=X.ID,figsize=(20,10), stacked=True, bins=50, color = 'Blue', )
Y.hist(column='speed', weights=Y.ID,figsize=(20,10), stacked=True, bins=50, color = 'Red')
Z.hist(column='speed', weights=Z.ID,figsize=(20,10), stacked=True, bins=50, color = 'Grey')
plt.rc('xtick',labelsize=25)
plt.rc('ytick',labelsize=25)

但我得到了三个不同的直方图。 如何将这三个直方图合并为一个直方图,每个直方图包含三种颜色?

合并数据帧:

X = pd.read_csv("data1.csv")
Y = pd.read_csv("data2.csv")
Z = pd.read_csv("data3.csv")
df = X.merge(Y).merge(Z)

df.hist(...)
我会这样做:

import pandas as pd
import matplotlib.pyplot as plt

X = pd.read_csv("data1.csv")
Y = pd.read_csv("data2.csv")
Z = pd.read_csv("data3.csv")

plt.hist([X.speed.values.flatten(), Y.speed.values.flatten(), Z.speed.values.flatten()], weights=[X.ID.values.flatten(), Y.ID.values.flatten(), Z.values.flatten()], label=['X', 'Y', 'Z'])
plt.legend()
plt.rc('xtick', labelsize=25)
plt.rc('ytick', labelsize=25)