You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按行绘制多图表?基于指定数据集生成产品柱状图需求

实现按产品生成独立柱状图的方案

嘿,我来帮你搞定这个按产品生成独立柱状图的需求~我用Python里常用的matplotlib库来实现,代码简单好懂,完全匹配你的要求:

步骤1:准备数据

先把你的数据集整理成直观的结构:

import matplotlib.pyplot as plt
import numpy as np

# 你的原始数据
product_data = [
    {"name": "Books", "buy": 1111, "sold": 2222, "profit": 1111},
    {"name": "Pens", "buy": 2222, "sold": 4444, "profit": 2222}
]
bar_width = 0.25  # 柱子的宽度

步骤2:逐个生成产品的专属图表

我们遍历每个产品,为它单独绘制一个柱状图,确保每个图的X轴是产品名,Y轴展示三个指标的数值:

for product in product_data:
    # 创建新的图表窗口
    plt.figure(figsize=(6, 5))
    
    # 设置X轴的位置(只有一个位置,对应产品名)
    x = np.array([0])
    
    # 绘制三个指标的柱子
    plt.bar(x - bar_width, product["buy"], width=bar_width, color="#1f77b4", label="Buy")
    plt.bar(x, product["sold"], width=bar_width, color="#ff7f0e", label="Sold")
    plt.bar(x + bar_width, product["profit"], width=bar_width, color="#2ca02c", label="Profit")
    
    # 配置图表细节
    plt.title(f"Performance of {product['name']}", fontsize=14, pad=15)
    plt.xticks(x, [product["name"]], fontsize=12)  # X轴显示产品名
    plt.ylabel("Value", fontsize=12)
    plt.legend(loc="upper right")  # 显示图例
    plt.grid(axis='y', linestyle='--', alpha=0.7)  # 加Y轴网格线,更易读
    
    # 自动调整布局,避免标签被截断
    plt.tight_layout()
    # 如果你需要保存图片,取消下面这行注释
    # plt.savefig(f"{product['name']}_performance.png", dpi=100)
    plt.show()

效果说明

运行代码后会弹出两个独立的图表:

  • 第一个图表:X轴仅显示Books,三个并排的柱子分别对应Buy(1111)、Sold(2222)、Profit(1111)的数值,清晰展示该产品的各项数据。
  • 第二个图表:X轴仅显示Pens,同样用三个柱子展示Buy(2222)、Sold(4444)、Profit(2222)的数值,布局和第一个保持一致,便于对比。

如果你用的是其他可视化工具(比如Excel),思路也是一样的:每个产品单独建一个图表,把三个指标作为系列,X轴固定为产品名即可~

内容的提问来源于stack exchange,提问作者aysh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 07:52:48