1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
import matplotlib.pyplot as plt
import numpy as np
import Tkinter as tk
import matplotlib.figure as mplfig
import matplotlib.backends.backend_tkagg as tkagg
pi = np.pi
class App(object):
def __init__(self, master):
self.master = master
self.fig = mplfig.Figure(figsize=(3, 3))
self.ax = self.fig.add_axes([0.125, 0.125, 0.75, 0.75], polar=True)
self.canvas = tkagg.FigureCanvasTkAgg(self.fig, master=master)
self.ax.grid(True)
self.gridIsOn = True;
#
N = 5
theta = np.arange(0.0, 2 * pi, 2 * pi / N)
radii = np.arange(10.0,50, 40 / N) #[5.0,10.0,20.0,30.0,40.0 ]
width = [2 * pi / (N)] * 5
bars = (
# self.ax.bar(0, 20, width=2 * pi, linewidth=0) +
self.ax.bar(theta, radii, width))#, bottom=0.2))
cmap = plt.get_cmap('jet')
for r, bar in zip(radii, bars):
bar.set_facecolor(cmap(r / 50.))
bar.set_alpha(0.5)
self.ax.set_xticklabels([])
self.ax.set_yticklabels([])
self.canvas.get_tk_widget().pack()
self.canvas.draw()
### UN MORCEAU DU PROBLEMEE
self.b = tk.Button(master, text="OK", command=App.ButtonCall(self))
self.b.pack()
@staticmethod
def ButtonCall(o): ## ICI ON EST EN PLEIN DANS LE PROBLEME
print ("click!");
# if o.gridIsOn==True:
# o.gridIsOn=False;
# else:
# o.gridIsOn=True;
# o.ax.grid(o.gridIsOn)
# o.canvas.draw()
def main():
root = tk.Tk()
app = App(root)
tk.mainloop()
if __name__ == '__main__':
main() |
Partager