使用Matplotlib聚合多列数据并绘制柱状图的方法
实现列求和柱状图的具体方法
核心思路
先对DataFrame的A、B、C、D列分别求和,再用对应工具生成可视化柱状图或文本风格柱状图。
方法1:用Pandas+Matplotlib生成可视化柱状图
这是最常用的可视化方案,步骤简洁:
import pandas as pd import matplotlib.pyplot as plt # 假设你的DataFrame已定义为df # 筛选目标列并计算每列求和结果 column_sums = df[["A", "B", "C", "D"]].sum() # 生成柱状图 column_sums.plot(kind="bar", edgecolor="black", color="#666666") # 自定义图表标签(可选) plt.xlabel("列名") plt.ylabel("总数") plt.title("各列求和统计") plt.tight_layout() # 避免标签被截断 # 显示图表 plt.show()
方法2:生成文本风格柱状图(匹配你给出的示例效果)
如果需要在终端输出纯文本格式的柱状图,可使用以下代码:
import pandas as pd # 计算列求和结果 column_sums = df[["A", "B", "C", "D"]].sum().to_dict() max_count = max(column_sums.values()) # 逐行生成文本柱状图 for level in range(max_count, 0, -1): row_items = [] for col in ["A", "B", "C", "D"]: row_items.append("X" if column_sums[col] >= level else " ") print(" ".join(row_items)) # 输出底部列名 print(" ".join(["A", "B", "C", "D"]))
运行后会输出与你示例一致的文本柱状图效果。
内容的提问来源于stack exchange,提问作者Jaco Van Niekerk
相关产品推荐
相关产品推荐

