利用Tkinter和matplotlib兩種方式畫餅狀圖的實例
當我們學習python的時候,總會用到一些常用的模塊,接下來我就詳細講解下利用兩種不同的方式畫餅狀圖。
首先利用【Tkinter】中的canvas畫布來畫餅狀圖:
from tkinter import Tk, Canvas def DrawPie(): #創(chuàng)建窗口 windows=Tk() #添加標題 windows.title("畫餅圖") # 設置畫布樣式 canvas=Canvas(windows,height=500,width=500) # 將畫布打包到窗口 canvas.pack() #利用畫布的create_arc畫餅形,(400,400)和(100,100)為餅形外圍的矩形, # start=角度起始,extent=旋轉的度數(shù),fill=填充的顏色 canvas.create_arc(400,400,100,100,start=0,extent=36,fill="red") canvas.create_arc(400,400,100,100,start=36,extent=72,fill="green") canvas.create_arc(400,400,100,100,start=108,extent=108,fill="yellow") canvas.create_arc(400,400,100,100,start=216,extent=144,fill="blue") # 為各個扇形添加內(nèi)容,圓心為(250,250) canvas.create_text(430,200,text="36°",font=("華文新魏",20)) canvas.create_text(330,100,text="72°",font=("華文新魏",20)) canvas.create_text(90,200,text="108°",font=("華文新魏",20)) canvas.create_text(390,370,text="144°",font=("華文新魏",20)) # 開啟消息循環(huán) windows.mainloop() if __name__ == '__main__': #調(diào)用方法 DrawPie()
以上方法就是用的Tkinter畫布來畫餅狀圖的,接下來我們來看下第三方模塊【matplotlib】中的pyplot:
from matplotlib import pyplot # 中文支持 pyplot.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標簽 pyplot.rcParams['axes.unicode_minus'] = False # 用來正常顯示負號 def showPieChart(): #調(diào)用pyplot模塊中的pie方法繪制餅圖,pie方法的第一個參數(shù)是各個部分所占的比例,后面其他的參數(shù)是對餅形圖的一些修飾的標簽, labels為描述的內(nèi)容,startangle為繪制的起始角度,counterclock為繪制的方向(默認為逆時針) pyplot.pie([36,72,108,144], labels=["36°", "72°", "108°", "144°"], startangle=90, counterclock=False) #顯示圖形 pyplot.show() if __name__ == '__main__': #調(diào)用函數(shù) showPieChart()
其實兩種方法都大同小異,只不過應用的模塊不一樣,第一種方法只能繪制圖形不能添加餅圖的內(nèi)容,而第二種方法內(nèi)部封裝的餅形圖的樣式,可以添加的樣式也豐富多彩。
以上這篇利用Tkinter和matplotlib兩種方式畫餅狀圖的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python?pyasn庫解析和生成ASN.1數(shù)據(jù)結構
這篇文章主要介紹了Python?pyasn庫實現(xiàn)ASN.1數(shù)據(jù)結構的解析和生成實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01pycharm中django框架連接mysql數(shù)據(jù)庫的方法
這篇文章主要介紹了pycharm中django框架連接mysql數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04