• Python连接MySQL数据库获取数据绘制柱状图


     一、Python通过pymysql包获取MySQL数据库中的数据(没有对应包的可以通过pip install pymysql 安装对应的包)

    import matplotlib.pyplot as plt
    
    from pylab import mpl
    mpl.rcParams['font.sans-serif'] = ['STZhongsong']    # 指定默认字体:解决plot不能显示中文问题
    mpl.rcParams['axes.unicode_minus'] = False
    # 引入pymysql包
    import pymysql
    # 连接数据库并打开library数据库
    conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='qskh_091')
    # 获取游标对象
    cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
    # 执行SQL语句
    cur.execute("SELECT * FROM xiaoliang t1 ORDER BY t1.销售数量+'0';")
    # 获取执行结果
    rows = cur.fetchall()
    print(rows)
    print("number of records: ", len(rows))
    lists=[[],[]]
    for row in rows:
        lists[0].append(row["产品代码"])
        lists[1].append(row["销售数量"])
    # 关闭游标对象
    print(lists)
    
    x=lists[0]
    
    y=lists[1]
    
    plt.bar(x,y,width=0.5,align="center",label="销售数量",color="coral")
    
    plt.title("各产品销售状况")
    
    for a,b in zip(x,y):
     plt.text(a,b,b,ha='center',va="bottom",fontsize=12)
    
    plt.xlabel('产品名称')
    
    plt.ylabel('销售数量')
    
    plt.legend()
    
    plt.show()
    
    cur.close()
    # 关闭数据库连接
    conn.close()

    二、从数据库中获取的数据的数据结构如下所示

    三、最终结果如下所示

  • 相关阅读:
    线程同步的几种实现方案
    关于java中三种初始化块的执行顺序
    java数组
    Codeblocks 17汉化
    聚焦天狗
    linux下搭建svn添加多个仓库(项目)
    使用Python在windows环境下获取Linux服务器的磁盘、内存等信息
    python smtplib使用163发送邮件 报错 554 DT:SPM
    防抖与节流
    js
  • 原文地址:https://www.cnblogs.com/lcl-cn/p/15352881.html
Copyright © 2020-2023  润新知