簡體   English   中英

畫布中的圖形

[英]Graphs in Canvas

我正在嘗試在Canvas中顯示折線圖(字符串和數字,如數組中所示)。 我是從該論壇的其他問題中獲得此代碼的,試圖根據自己的要求進行修改。請有人指導我。

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({"Week": ['Week1','Week2','Week3','Week4','Week5'],
               "App1" : [2.6,3.4,3.25,2.8,1.75],
               "App2" : [2.5,2.9,3.0,3.3,3.4],
                "App3" : [1.6,2.4,1.25,5.8,6.75]})
df.plot(x="Week", y=["App1", "App2", "App3"])
plt.show()

線形圖

如果有人在找,這是一個。

    # --- matplotlib ---
    import matplotlib
    matplotlib.use('TkAgg') # choose backend
    from tkinter import messagebox

    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, 
    NavigationToolbar2TkAgg
    from matplotlib.pyplot import Figure

   from matplotlib import pyplot as plt    
   # --- other ---
   import tkinter as tk
   import pandas as pd

   # --- GUI ---

   root = tk.Tk()

   # top frame for canvas and toolbar - which need `pack()` layout manager
   top = tk.Frame(root)
   top.pack()

   # bottom frame for other widgets - which may use other layout manager 
   bottom = tk.Frame(root)
   bottom.pack()

    # create figure
   fig = matplotlib.pyplot.Figure()

    # create matplotlib canvas using `fig` and assign to widget `top`
    canvas = FigureCanvasTkAgg(fig, top)

    # get canvas as tkinter widget and put in widget `top`
    canvas.get_tk_widget().pack()



    canvas._tkcanvas.pack()

     # --- plot ---

    data = {"Week": ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],
               "App1" : [2.6,3.4,3.25,2.8,1.75,5,2],
               "App2" : [2.5,2.9,3.0,3.3,3.4,5,3],
                "App3" : [1.6,15,1.25,5.8,6.75,6,4]
    }
     new_df = pd.DataFrame(data)

     ax = fig.add_subplot(111)

     fig.suptitle('Graph Title', fontsize=12)

     new_df.plot(x="Week", y=["App1", "App2", "App3"],ax=ax)

     def on_closing():
         root.destroy()

     root.protocol("WM_DELETE_WINDOW", on_closing)

     root.lift()
     root.attributes('-topmost',True)
     root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM