中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

matplotlib與tkinter集成的示例分析

發布時間:2021-12-22 09:14:43 來源:億速云 閱讀:330 作者:小新 欄目:大數據

這篇文章主要介紹了matplotlib與tkinter集成的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

matplotlib 是繪圖界最通用的庫,功能強大,與其他系統集成友好,比如Python內置的繪圖模塊tkinter,主要目標:  實現一個使用tkinter集成matplotlib交互繪圖案例  。

tkinter模塊設計精簡,滿足一些小型GUI設計,首先創建一個窗體對象,添加基本組件,如Label,Button,Radiobutton等,再pack或grid組件到父容器中。

此案例,創建tkinter窗口及組件的代碼,如下:


window = tk.Tk()

# 第2步,給窗口的可視化起名字
window.title('My Window')

# 第3步,設定窗口的大小(長 * 寬)
# 這里的乘是小x
window.geometry('1200x600')

# 第4步,在圖形界面上創建一個標簽label用以顯示并放置
# 定義一個var用來將radiobutton的值和Label的值聯系在一起.
var = tk.StringVar()
l = tk.Label(window, bg='yellow', width=30, height=3,
             text='matplotlib in tkinter', font=('Arial', 21))

l.pack()
上面創建一個基本窗體,在上面創建Radiobutton組件,其父窗體是window對象。

然后創建一個frame對象,在里面,再填充2個frame對象,一個位于左側,另一個位于右側:
# 第二層frame,左frame,長在主frame上
frame_l = tk.Frame(frame)
# 第二層frame,右frame,長在主frame上
frame_r = tk.Frame(frame)
frame_l.pack(side='left')
frame_r.pack(side='right')
然后,在左側frame中創建柱狀圖,右側frame中創建餅狀圖。

下面就是最重要的tkinter和matplotlib集成部分,matplotlib提供FigureCanvasTkAgg對象,只需三行代碼,實現圖形繪制在tkinter的Canvas中:
canvas_l = FigureCanvasTkAgg(figure_l, frame_l)
# 用draw代替
canvas_l.draw()
canvas_l.get_tk_widget().pack()

第一行代碼實現figure對象(matplotlib對象)與frame對象(tkinter組件)關系的建立,第二行使用集成后的對象中的draw方法繪圖,最后拿到tkinter組件并組裝到tkinter中。


最終實現的展示效果如下:

matplotlib與tkinter集成的示例分析

交互部分,選中Radiobutton中bar選項后,僅顯示柱狀圖:

matplotlib與tkinter集成的示例分析


選中pie選項時,僅顯示餅狀圖:

matplotlib與tkinter集成的示例分析

當選中both選項后,恢復全部顯示。  

感謝你能夠認真閱讀完這篇文章,希望小編分享的“matplotlib與tkinter集成的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌兰县| 永川市| 庆元县| 孟州市| 琼海市| 双鸭山市| 汶上县| 扬中市| 阜平县| 武义县| 竹北市| 婺源县| 东城区| 汶上县| 九龙县| 徐汇区| 万州区| 边坝县| 平度市| 黎平县| 嘉义县| 茌平县| 浏阳市| 吉木乃县| 漯河市| 天等县| 凌源市| 峡江县| 长汀县| 阜阳市| 东丰县| 天长市| 龙州县| 恩施市| 徐州市| 泰来县| 安西县| 陆良县| 古田县| 巢湖市| 社会|