如何调用Python计算的均值变量绘制Matplotlib柱状图?
调用计算好的均值变量绘制Matplotlib柱状图
完整可运行代码示例
import pandas as pd import matplotlib.pyplot as plt # 读取目标CSV文件 df = pd.read_csv("your_data.csv") # 指定需要计算均值的列(替换成你实际的列名) target_columns = ['sales', 'profit', 'cost'] # 计算指定列的均值 specified_column_means = df[target_columns].mean() # 执行你定义的数值转换逻辑 transformed_means = ((specified_column_means / 1_000_000).round(0) * 1_000_000).round(-5) # 直接调用变量绘制柱状图 plt.figure(figsize=(8, 5)) # 按需切换绘制原始均值或转换后均值 plt.bar(transformed_means.index, transformed_means.values, color='#2ecc71') # 添加图表基础元素 plt.xlabel('数据列') plt.ylabel('均值') plt.title('各列转换后均值柱状图') plt.tight_layout() plt.show()
关键说明
specified_column_means和transformed_means都是Pandas Series对象,自带列名作为索引、均值作为数值,可直接传递给Matplotlib绘图函数- 用
.index获取列名(作为x轴类别标签),用.values获取均值数值(作为柱子高度),无需手动提取或输入数据 - 如果需要对比原始均值和转换后均值,可调整柱子位置实现并列显示:
plt.figure(figsize=(8, 5)) x = range(len(specified_column_means)) width = 0.35 plt.bar([i - width/2 for i in x], specified_column_means.values, width, label='原始均值') plt.bar([i + width/2 for i in x], transformed_means.values, width, label='转换后均值') plt.xticks(x, specified_column_means.index) plt.legend() plt.show()
内容的提问来源于stack exchange,提问作者Zarathustra
相关产品推荐
相关产品推荐

