import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 假设df是您的DataFrame,并且包含两列数据'column1'和'column2'
# df = pd.DataFrame({'column1': ..., 'column2': ...})
# 选择DataFrame中的两列数据
data_column1 = df['column1']
data_column2 = df['column2']
# 计算直方图的bin_edges和计数
bin_edges = np.histogram_bin_edges(data_column1, bins='auto', binnumber=20)
column1_histogram, _ = np.histogram(data_column1, bins=bin_edges)
column2_histogram, _ = np.histogram(data_column2, bins=bin_edges)
# 创建一个新的figure
fig, ax = plt.subplots()
# 绘制第一组数据的柱形图
ax.bar(bin_edges[:-1], column1_histogram, width=bin_edges[1] - bin_edges[0], edgecolor='blue', color='blue', alpha=0.6, label='Column1')
# 绘制第二组数据的柱形图
ax.bar(bin_edges[:-1], column2_histogram, width=bin_edges[1] - bin_edges[0], edgecolor='red', color='red', alpha=0.6, label='Column2')
# 设置标题和轴标签
ax.set_title('Column Histogram with Bar Outlines')
ax.set_xlabel('Value')
ax.set_ylabel('Frequency')
# 添加图例
ax.legend()
# 显示图表
plt.show()