見出し画像

Python(tkinter)グラフ作成

今回のnotePythonで作成したプログラムを共有したいと思います。

本日のプログラムは数値を入力して二次関数または三次関数の式に変換してグラフを作成します。

GUIで数値を入力できるようにしました。

作成した画面は下記のようになります。

作成画面

上記の画像を実行して描画したグラフは下記のようになります。

描画したグラフ

下記がコードになります。

import tkinter
import numpy as np
import matplotlib.pyplot as plt

def btn_click():
    num = int(txt_1.get()) # 範囲の設定
    num_1 = int(txt_2.get())
    
    multiplier = int(txt_3.get()) # 何乗するのか
    multiplier_1 = int(txt_4.get()) # 何を掛けるのか?
    
    x = np.linspace(num, num_1) # どの範囲でグラフを作成するのかを決定
    y = x**multiplier - 12*multiplier_1
    plt.xlabel("x")
    plt.ylabel("y")
    plt.plot(x, y)
    plt.show()

# 画面作成
root = tkinter.Tk()
root.geometry('400x300')
root.title('関数のグラフ')
root.configure(bg='SpringGreen2'# 色の設定

# ラベルの表示
lbl_1 = tkinter.Label(text='xの最大値')
lbl_1.place(x=30, y=70)
lbl_2 = tkinter.Label(text='xの最小値')
lbl_2.place(x=30, y=100)

lbl_3 = tkinter.Label(text='乗数')
lbl_3.place(x=30, y=130)
lbl_4 = tkinter.Label(text='掛ける数')
lbl_4.place(x=30, y=160)

# テキストボックス
txt_1 = tkinter.Entry(width=20)
txt_1.place(x=110, y=70)
txt_2 = tkinter.Entry(width=20)
txt_2.place(x=110, y=100)
txt_3 = tkinter.Entry(width=20)
txt_3.place(x=110, y=130)
txt_4 = tkinter.Entry(width=20)
txt_4.place(x=110, y=160)

# ボタン
btn = tkinter.Button(root, text='グラフ表示', command=btn_click)
btn.place(x=140, y=200)

# 画面をそのまま表示
root.mainloop()

以上になります。


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?