import pandas as pd
import matplotlib.pyplot as plt
# 设置Matplotlib使用支持中文的字体
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像时负号'-'显示为方块的问题
# 读取CSV文件
df = pd.read_csv('C:/Users/Desktop/区县数据.csv')
# 按照'O3_8h'列的值对DataFrame进行排序,同时保留区县名称的对应关系
df_sorted = df.sort_values(by='O3_8h', ascending=True)
# 重置索引
df_sorted.reset_index(drop=True, inplace=True)
# 设置颜色列表,其中'渭南市'使用不同颜色
default_color = 'skyblue'
special_color = 'red'
colors = [default_color if name != '渭南市' else special_color for name in df_sorted['区划名称']]
# 绘制柱状图
fig, ax = plt.subplots(figsize=(10, 6)) # 使用subplots创建一个图形和坐标轴对象
bars = ax.bar(df_sorted['区划名称'], df_sorted['O3_8h'], color=colors) # 绘制柱状图并设置颜色
# 在每个柱子上方添加数据标签
ax.bar_label(bars, label_type='center', padding=3,fontsize=10) # label_type 和 padding 参数可以根据需要调整
# 设置标题和轴标签
plt.title('各区县O$_3$_8h浓度柱状图',fontsize=14) # 设置标题
plt.xlabel('区县名称',fontsize=12) # 设置x轴标签
plt.ylabel('O$_3$_8h浓度(μg/m³)',fontsize=12) # 设置y轴标签
plt.xticks(rotation=45, ha="right",fontsize=10) # 旋转x轴标签以便更好地显示
plt.tight_layout() # 自动调整子图参数,使之填充整个图像区域
plt.show()
柱状图的绘制
最新推荐文章于 2024-09-25 20:26:56 发布