【undo】跟蹤py動態繪製狀態圖

#!C:\Users\viviliving\AppData\Local\Programs\Python\Python37-32\python
# -*- coding: utf-8 -*-
# -*- coding: gbk -*-
import sys
import csv
import cx_Oracle
import codecs
import os
import numpy as np  
import matplotlib.pyplot as plt  
#os.environ['NLS_LANG']='"SIMPLIFIED CHINESE_CHINA.ZHS16GBK"'
os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
os.environ['PATH']='E:\instantclientwin32_jb51\instantclient_11_2;%path%'
os.environ['TNS_ADMIN']= 'E:\instantclientwin32_jb51\instantclient_11_2'
os.environ['ORACLE_BASE'] = 'E:\instantclientwin32_jb51\instantclient_11_2'
os.environ['ORACLE_HOME'] = 'E:\instantclientwin32_jb51\instantclient_11_2'

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(6,5))
conn=cx_Oracle.connect("system","oracle","10.22.221.8/qhsbora")
curs=conn.cursor()
sql="select t.status, sum(t.blocks) * 8 / 1024    from dba_undo_extents t  group by t.status"

while(True):
	curs.execute(sql)
	x=[]
	y=[]
	c = ['r','b','g'] 
	ll_row=0
	group_labels=[]
	for row_data in curs:
	    print(row_data[0])
	    print(row_data[1])
	    group_labels.append(row_data[0])
	    y.append(row_data[1])



	#fig,ax = plt.subplots()  
	x = np.arange(1, len(y)+1, 1)  

	for ll_row in range(len(y)):
	    plt.bar(x[ll_row],y[ll_row],fc=c[ll_row]) 
	    
	#y = [2,2,2,2,2,3,3,6,10,14,16,16,18,24,25,87]  
	#ax is the axes instance  
	#group_labels = ['翟兆鵬','吳傑','李想','張媛媛','陳輔國','田常浩','王勇','王保德','寇嘉洋','高曉樂','崔強','邢繼東','王甲蓉','李祥','郭靖','王希剛']  
	#plt.bar(x,y,facecolor=c,width=0.3)  
	plt.xticks(x, group_labels, rotation=90,color='k')
	plt.xlabel("undo狀態")
	plt.ylabel("空間量(M)")
	plt.title('undo',color='blue', loc='center')
	ax = plt.gca()
	for label in ax.xaxis.get_ticklabels():
	    label.set_rotation(0)
	    
	for xx,yy in zip(x,y):
	        ax.text(xx+0.05,yy+0.05,'%d' %yy, ha='center',va='bottom',color='k',rotation=0)
	        
	plt.grid()  
	plt.show() 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章