zoukankan      html  css  js  c++  java
  • 用SQL取代pandas 聚合运算结合plot画图的方法案例

    #!/usr/bin/python
    # -*- coding: <encoding name> -*-
    import matplotlib.pyplot as plt
    import pandas as pd  # data processing, CSV file I/O (e.g. pd.read_csv)
    import pymssql  # 引入pymssql模块
    import seaborn as sns  # Provides a high level interface for drawing attractive and informative statistical graphics
    from matplotlib.font_manager import FontProperties
    from pylab import *
    import matplotlib.pyplot as plt
    import seaborn as sns
    
    plt.rcParams['font.sans-serif'] = ['SimHei']
    # Matplotlib中设置字体-黑体,解决Matplotlib中文乱码问题
    plt.rcParams['axes.unicode_minus'] = False
    # 解决Matplotlib坐标轴负号'-'显示为方块的问题
    sns.set(font='SimHei')
    # Seaborn中设置字体-黑体,解决Seaborn中文乱码问题
    import warnings                                            # Ignore warning related to pandas_profiling
    warnings.filterwarnings('ignore')
    conn = pymssql.connect(host='localhost', user='wonderful', password='wonderful', database='ProcreateV93',charset='GBK')
    
    font = FontProperties(fname=r"c:windowsfontssimsun.ttc", size=10)
    sql = "select username,COUNT(DISTINCT o_id) AS Oidcount from Oplan GROUP BY username order by Oidcount desc "
    df0 = pd.read_sql(sql, conn)
    df = pd.DataFrame(df0)
    
    
    #orient='h'表示是水平展示的,alpha表示颜色的深浅程度
    
    #设置y轴、X轴的坐标名字与字体大小
    sns.barplot(x=df.username.values,y=df.Oidcount.values,orient='v', color='green')
    
    plt.xlabel('医生')
    plt.ylabel('患者数')
    
    #设置X轴的各列下标字体是水平的
    plt.xticks(rotation='horizontal')
    
    #设置Y轴下标的字体大小
    
    plt.show()
    

      

  • 相关阅读:
    JavaScript正则表达式
    web页面全角&半角
    WEB中的GET和POST
    设计模式之观察者模式
    初识numpy的多维数组对象ndarray
    【ACM】求高精度幂
    C++ 变量初始化规则
    浅谈const限定符
    堆和栈的区别(转过无数次的文章)
    【编程小题目8】求解完数
  • 原文地址:https://www.cnblogs.com/canyangfeixue/p/15386654.html
Copyright © 2011-2022 走看看