matplotlib如何實現圖形繪製在tkinter的Canvas中?

2021-01-10 小短腿花花

matplotlib如何實現圖形繪製在tkinter的Canvas中?今天番茄加速就來分享一下。

下面就是最重要的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中。

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

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

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

相關焦點

  • Python matplotlib繪圖示例 - 繪製三維圖形
    Python matplotlib模塊是擴展的MATLAB的一個繪圖工具庫。
  • Python內置庫並非一無是處,用tkinter也可繪製簡單漂亮的散點圖
    很多人覺得tkinter對於PythonGUI編程來說是一塊雞肋,屬於入門的級的Python庫。其實,tkinter沒有你想像中那麼一無是處。它內置於Python中有其理由的,tkinter中雖然tk庫比較醜陋(比較其它GUI庫),但是如果使用ttk,它的界面效果比較其它GUI庫也是毫不遜色的。
  • python matplotlib畫圖教程學習:使用介紹
    下圖顯示了matplotlib圖形的基本構成部分,如figure(圖形)、axes(子圖形)、title(標題)、legend(圖例)、Major tick(大標尺刻度)、Minor tick(小標尺刻度)、Major tick label(大標尺刻度數值)、Minor tick label(小標尺刻度數值)、Y axis label(y軸指標說明)、X axis label(x軸指標說明)、Line
  • matplotlib相關圖形繪製(一)
    的繪圖原理,本文介紹相關圖形繪製。《matplotlib繪圖的核心原理》《matplotlib繪圖技巧詳解(一)》《matplotlib繪圖技巧詳解(二)》《matplotlib繪圖技巧詳解(三)》1)作用  繪製X軸、Y軸平行線,主要用來做對比參考。
  • matplotlib繪製數學函數
    本文主要通過繪製數學函數,從而學習matplotlib圖形的坐標軸、圖例、畫布等各個選項的設置。導入matplotlib繪圖庫,一般情況下,不用import整個matplotlib模塊,只需要調用pyplot模塊。
  • Matplotlib 中等高線圖(contour)的繪製
    前言在此前的文章裡,我們介紹了 Numpy 中 meshgrid 函數的應用,並提到了等高線圖的使用。
  • matplotlib繪圖邏輯(上)
    :FigureCanvas(類似於畫板):即matplotlib.backend_bases.FigureCanvas,它定義並包含繪製圖形的區域。對於一些UI工具(例如:Qt),FigureCanvas內部有具體的實現,它知道如何把自己(畫板)插入到一個UI界面中,也知道如何調用Renderer繪製到Canvas上,同時,一些UI操作事件也可以被自動轉化為matplotlib Event。
  • Python數據分析案例 | Matplotlib圖像繪製
    (3)條形圖主要用於展示分類數據,而直方圖則主要用於展示數據型數據了解了直方圖與條形圖的區別,那我們看看在Matplotlib裡如何繪製直方圖import matplotlib.pyplot as pltimport matplotlib%matplotlib inlineplt.rcParams['font.sans-serif
  • 高效使用 Python 可視化工具 Matplotlib
    基本前提如果你除了本文之外沒有任何基礎,建議用以下幾個步驟學習如何使用matplotlib:學習基本的matplotlib術語,尤其是什麼是圖和坐標軸始終使用面向對象的接口,從一開始就養成使用它的習慣用基礎的pandas繪圖開始你的可視化學習用seaborn進行更複雜的統計可視化用matplotlib來定製
  • Python筆記:用matplotlib繪製面積圖
    用pyecharts繪製出來的面積圖、圓環圖太有個性了,未免感覺有點「高處不勝寒」。
  • Matplotlib入門詳細教程
    當然,之所以不能稱pyplot為一級命名空間的原因,不僅僅在於它在形式上隸屬於matplotlib,最主要的在於它還不算是matplotlib的「獨裁者」,因為matplotlib的另一個重要模塊——pylab——或許稱得上是真正意義上的集大成者:pylab被定位是python中對MATLAB的替代產品,也就是說凡是MATLAB可以實現的功能,pylab通通都要有,例如矩陣運算(包括常規矩陣運算
  • matplotlib庫繪製折線圖、子圖及條形圖
    前面幾節我們學習了python中numpy和pandas庫的一些常用操作,接下來幾個章節,我們學習一個非常重要的數據可視化庫matplotlib(seaborn庫也有有所涉及)。這裡我們需要知道,matplotlib庫主要繪製一些2D圖形和簡單的3D圖形。
  • 使用Matplotlib繪製堆積條形圖
    在本文中,我們將探討如何使用Python的Matplotlib構建這些可視化圖形。我將使用一個簡單的數據集來保存全球的遊戲副本的銷售數據(雖然這個數據集已經過時,但它適合我們的示例)。我們在繪製之前對值進行排序,這樣可以更好地理解順序,更容易比較條形圖。我們將在「Global Sales」列中這樣操作。
  • Python中使用matplotlib繪製灰度直方圖
    灰度直方圖在數據統計分析、圖像處理中有著比較廣泛的應用,下面就介紹一下如何在Python中使用matplotlib來繪製灰度直方圖。
  • Matplotlib中的「plt」和「ax」到底是什麼?
    在網上有這麼多的例子向人們展示如何使用Matplotlib來繪製這種或那種圖表,但我很少看到任何教程提到「為什麼」。這可能會使編程經驗較少或從其他語言(如R)切換到這種語言的人感到非常困惑。當然,我們可以在「紙」上顯式地繪製一個「單元格」,以告訴Matplotlib我們將在這個單元格中繪製一個圖表。
  • python:matplotlib入門詳細教程
    當然,之所以不能稱pyplot為一級命名空間的原因,不僅僅在於它在形式上隸屬於matplotlib,最主要的在於它還不算是matplotlib的「獨裁者」,因為matplotlib的另一個重要模塊——pylab——或許稱得上是真正意義上的集大成者:pylab被定位是python中對MATLAB的替代產品,也就是說凡是MATLAB可以實現的功能,pylab通通都要有,例如矩陣運算(包括常規矩陣運算
  • Python 繪圖庫 Matplotlib 入門教程
    關於如何安裝Matplotlib請參見這裡:Matplotlib Installing。通過matplotlib.pyplot將其繪製出來。很顯然,繪製出來的值對應了圖中的縱坐標(y軸)。而matplotlib本身為我們設置了圖形的橫坐標(x軸):[0, 100],因為我們剛好有100個數值通過plt.show()將這個圖形顯示出來這段代碼非常的簡單,運行起來也是一樣。
  • Python使用matplotlib實現數據可視化教程
    目前有很多工具都可以數實現據可視化,今天我們的主角是Python中的matplotlib庫,相對來說,matplotlib功能不是最強大的,但是對於基本的圖形來說
  • Python可視化|matplotlib10-繪製散點圖scatter
    兩種方法繪製散點圖 scatter。法繪製散點圖3、matplotlib.axes.Axes.scatter法繪製散點圖  4、參考資料法繪製散點圖  import matplotlib.pyplot as pltimport numpy as np
  • 【基本工具-05】matplotlib入門之線形圖
    上述代碼中,就像之前用np作為NumPy的簡寫形式一樣,約定俗成的,我們把matplotlib簡寫為mpl,matplotlib.plot簡寫為plt。雖然簡單,但是圖形的基本要素都齊全了,包括圖形標題和坐標軸標題。