#!/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') 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軸的坐標名字與字體大小 ax=sns.barplot(x=df.username.values,y=df.Oidcount.values,palette=sns.color_palette('YlGn')) # ax.set_xticklabels(rotation = 45,fontsize = 15) # 放大橫軸坐標並逆時針旋轉45° # ax.set_yticklabels(labels = [0,500,1000,1500,2000,2500,3000,3500],fontsize = 15) # 放大縱軸坐標 plt.xlabel('醫生',fontsize=12) plt.ylabel('患者數',fontsize=12)
# 調整x軸的字體 plt.xticks(size = 8)
# 調整y軸字體 plt.yticks(size = 10) plt.rcParams['xtick.direction'] = 'out' plt.rcParams['ytick.direction'] = 'inout' plt.tight_layout() #設置X軸的各列下標字體是水平的 # plt.xticks(rotation='horizontal') #設置Y軸下標的字體大小 plt.show()