1. 准备数据
首先,需要准备一个DataFrame。
import pandas as pd
# 创建一个DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [24, 27, 22, 32], 'City': ['New York', 'Los Angeles', 'Chicago', 'Houston'], 'Score': [85, 92, 78, 88]}
df = pd.DataFrame(data)
print(df)
输出:
Name Age City Score0 Alice 24 New York 85
1 Bob 27 Los Angeles 92
2 Charlie 22 Chicago 78
3 David 32 Houston 88
2. 绘制简单柱状图
可以使用plot
方法来绘制柱状图。默认情况下,plot
方法会绘制折线图,需要指定kind='bar'
来绘制柱状图。
import matplotlib.pyplot as plt
# 绘制Age列的柱状图
df['Age'].plot(kind='bar')
plt.title('Age Distribution')
plt.xlabel('Index')
plt.ylabel('Age')
plt.show()
3. 绘制多列柱状图
如果想绘制多列的柱状图,可以将DataFrame传递给plot
方法,并指定kind='bar'
。
# 绘制Age和Score列的柱状图
df[['Age', 'Score']].plot(kind='bar')
plt.title('Age and Score Distribution')
plt.xlabel('Index')
plt.ylabel('Value')
plt.legend()
plt.show()
4. 绘制分组柱状图
可以使用plot
方法的subplots
参数来绘制分组柱状图。
# 绘制分组柱状图
df[['Age', 'Score']].plot(kind='bar', subplots=True)
plt.title('Age and Score Distribution')
plt.xlabel('Index')
plt.ylabel('Value')
plt.legend()
plt.show()
5. 绘制堆积柱状图
可以使用stacked=True
参数来绘制堆积柱状图。
# 绘制堆积柱状图
df[['Age', 'Score']].plot(kind='bar', stacked=True)
plt.title('Age and Score Stacked Distribution')
plt.xlabel('Index')
plt.ylabel('Value')
plt.legend()
plt.show()
6. 自定义柱状图
可以通过Matplotlib的API来自定义柱状图的样式和标签。
# 自定义柱状图
ax = df['Age'].plot(kind='bar', color='skyblue')
ax.set_title('Customized Age Distribution')
ax.set_xlabel('Index')
ax.set_ylabel('Age')
ax.set_xticklabels(df['Name'], rotation=45)
plt.show()