如何基于SQLite数据表生成按销售代表区分的折线图
实现步骤与代码
要生成符合要求的折线图,我们可以用pandas处理数据,配合matplotlib绘图,具体实现如下:
1. 准备依赖
先确保已安装pandas和matplotlib,未安装的话执行命令:
pip install pandas matplotlib
2. 读取数据库数据并绘图
完整代码如下:
import sqlite3 import pandas as pd import matplotlib.pyplot as plt # 连接SQLite数据库并读取数据 conn = sqlite3.connect('sales_sheet.db') df = pd.read_sql_query("SELECT id, sales_rep, number_of_sales FROM sales", conn) conn.close() # 创建绘图画布 plt.figure(figsize=(10, 6)) # 获取所有销售代表并分配颜色 sales_reps = df['sales_rep'].unique() colors = ['#1f77b4', '#ff7f0e', '#2ca02c'] # 自定义区分颜色 # 为每个销售代表绘制折线 for rep, color in zip(sales_reps, colors): rep_data = df[df['sales_rep'] == rep] plt.plot(rep_data['id'], rep_data['number_of_sales'], marker='o', color=color, label=rep) # 设置图表属性 plt.xlabel('ID') plt.ylabel('销售数量') plt.title('各销售代表销售数量随ID变化折线图') plt.legend() plt.grid(True, linestyle='--', alpha=0.7) # 显示图表 plt.show()
代码说明
- 用
pd.read_sql_query直接读取数据库数据到DataFrame,简化数据处理流程 - 通过
unique()获取所有销售代表,确保每个代表对应独立折线 - 添加
marker='o'标记数据点,更直观展示单个销售记录的位置 - 自定义颜色列表可让不同折线区分更清晰,也可去掉
color=color参数让matplotlib自动分配颜色
运行代码后,即可得到X轴为id、Y轴为销售数量、不同颜色区分销售代表的折线图。
内容的提问来源于stack exchange,提问作者new_guy91
相关产品推荐
相关产品推荐

