プルダウン(combobox)で選択したデータを実行ボタンを押すと表示出来るようにしたいのですが、コードの書き方がわかりません。サイトで色々調べましたが、自分の言葉の表現の仕方が悪いのか、自分の求めているページが出てきませんでした。ヤフーさんにも質問してみましたが、やはり求めている答えには至らなかったので、こちらで質問させて頂きます。Python初めて1週間も経ってないので、言葉足らずな部分もありますが、ご理解頂けると幸いです。また、プロの方からすればかなりコードも雑になっていると思います。温かい目で見ていただければと思います。。。
(※anacondaのJupyter Notebookで作成しています)
Tkinterでプルダウンと実行ボタンを押すとcommandで示したグラフは表示出来るようにはできたのですが、commandの部分をプルダウンで選択したものに切り替えてグラフを表示出来るようにしたいのです。このままだとプルダウンはただの飾りで実行ボタンを押すとコードで指定した一か所のグラフしか表示されなくなってしまいます。このコードを使うと出来るようになるよとか、サイトのURLでも提示してくれるなど、何かヒントを頂ければと思います。
そもそもそんなコードないとかであれば、こればっかりは仕方ないです。。。
どうぞよろしくお願い致します。m(__)m
自分で色々調べて作成したコードは以下の通りです。
whr2017=pd.read_csv(r"")
whr2016=pd.read_csv(r"")
の部分の()が空欄になってますが、自分の名前が入ってしまっているので空白にさせて頂いています。
csvファイルは以下のサイトの「世界幸福度報告」というものを使っています。
(https://domohelp.domo.com/hc/ja/articles/360043931814-%E6%A5%BD%E3%81%97%E3%81%BF%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6%E3%82%B5%E3%83%B3%E3%83%97%E3%83%ABDataSet)
import pandas as pd import numpy as np from matplotlib import pyplot as plt %matplotlib inline from sklearn.linear_model import LinearRegression as LR from sklearn.metrics import accuracy_score whr2017=pd.read_csv(r"") whr2016=pd.read_csv(r"") import tkinter as tk from tkinter import messagebox import tkinter.ttk as ttk from tkinter import messagebox #タイトルと画面サイズ root = tk.Tk() root.title("Python") root.geometry("350x100") #select_combo1の値を取得 def select_combo1(event): print(combo1.get()) #select_combo2の値を取得 def select_combo2(event): print(combo2.get()) #ボタンクリックイベント_tarin&ヒストグラム def btn_clk(): messagebox.askyesno("メッセージ","結果を表示しますか?") root.destroy() plt.hist(whr2017["Happiness Rank"]) #ボタンクリックイベント_tarin&折れ線グラフ def btn_clk1(): messagebox.askyesno("メッセージ","結果を表示しますか?") root.destroy() plt.hist(whr2017["Family"]) def btn_(): messagebox.askyesno("メッセージ","結果を表示しますか?") root.destroy() plt.plot(whr2016["Happiness Rank"]) def btn_1(): messagebox.askyesno("メッセージ","結果を表示しますか?") root.destroy() plt.plot(whr2016["Family"]) #comboboxのリスト表示(①データ選択) list = ["WHR2017", "WHR2016"] variable1 = tk.StringVar() combo1 = ttk.Combobox (root,values = list,textvariable = variable1,state="readonly",width = 10) combo1.bind('<<ComboboxSelected>>', select_combo1) combo1.set("データ選択") combo1.place(x=30,y=40) #comboboxのリスト表示(②解析方法選択) list = ["ヒストグラム","折れ線グラフ"] variable = tk.StringVar() combo2 = ttk.Combobox(root,values = list,textvariable = variable,state="readonly",width = 12) combo2.bind('<<ComboboxSelected>>', select_combo2) combo2.set("解析方法選択") combo2.place(x=140,y=40) #実行ボタン button = tk.Button(root,text ="実行",width = 10,height=1,command = btn_1) button.place(x = 260,y = 38) #文字の表示 label = tk.Label(root, text='品質改善システム') label.place(x = 1 ,y = 1) label =tk.Label(root,text='①') label.place(x = 10, y=40) label =tk.Label(root,text='②') label.place(x = 120, y=40) label =tk.Label(root,text='③') label.place(x = 240, y=40) root.mainloop()

回答2件
あなたの回答
tips
プレビュー