디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[🔎질문] 버튼 클릭 시 주파수 그래프 나오게 하는 방법

만자몽(106.101) 2022.07.07 22:49:55
조회 195 추천 0 댓글 2
														


안녕하세요. 파이참을 통해서 코딩 중인 학생입니다.

교수님께서 samples.csv 파일을 받았을 때 주파수 그래프가 나오게 할 수 있는 GUI를 만들어 달라고해서 일단은 기초적인 부분은 만들긴 했습니다.

제가 tkinter를 사용해서 파일 받기, 리스트 삭제, 저장 경로 설정하기, 시작, 닫기 GUI를 만들었습니다.

교수님께서는 sample2.csv 를 받으면 시간축 주파수, 주파수를 draw 버튼을 누르면 그리는 코드를 주셨습니다.

file_name 부분을 어떻게 해야하는지 잘 모르겠습니다. 제가 만든 거에다가 추가를 하려니까 그 주파수, 시간축에 넣으려고 하면 에러가 뜹니다.

이 부분을 해결 할 수 있으신 분 있을까요? 삽질을 계속했는데 뭐가 문제인지 잘 모르겠습니다. (아마 배운지 얼마 안되서 그런 거 같아용,,,)

설명도 같이 해주시면 정말정말 감사합니다ㅠㅠ 


# data down
import os
import csv
import pandas as pd
import numpy as np
from numpy import *
from numpy.fft import *
from scipy.fftpack import *
from scipy.fft import *
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import style
style.use('ggplot')

# tkinter
import tkinter as tk
import tkinter.ttk as ttk
import tkinter.messagebox as msgbox
from tkinter import filedialog
from tksheet import Sheet
from tkinter import *

# data?-?
sr = 2000
ts = 1/sr
file_name = 'C:/Users/Ninebell/Desktop/samples/sample2.csv'

# add file
def add_file():
d = demo()
files = filedialog.askopenfilenames(title='csv 파일을 선택하세요.',
filetypes=(('csv 파일', '*.csv'), ('모든 파일', '*.*')),
initialdir=r'C:/Users/Ninebell/Desktop/samples/')

# 사용자가 선택한 파일 목록
for file in files:
list_file.insert(END, file)

# del file
def del_file():
# print(list_file.curselection())
for index in reversed(list_file.curselection()):
list_file.delete(index)

# save file
def browse_dest_path():
folder_selected = filedialog.askdirectory()
if folder_selected == "": # 사용자가 취소를 누를 때
print("폴더 선택 취소")
return
# print(folder_selected)
txt_dest_path.delete(0, END)
txt_dest_path.insert(0, folder_selected)

# run file
def start():
# 파일 목록 확인
if list_file.size() == 0:
msgbox.showwarning("경고", "csv 파일을 추가하세요.")
return

# 저장 경로 확인
if len(txt_dest_path.get()) == 0:
msgbox.showwarning("경고", "저장 경로를 선택하세요")
return

# time frequency
def disp_time():
sample = pd.read_csv(file_name)
array = np.array(sample)
where_are_NaNs = np.isnan(array)

array[where_are_NaNs] = 0
x = array[:, 1]
y = array[:, 2]
z = array[:, 3]
t = np.arange(0, np.size(x)) * ts

f = plt.figure()
a1 = f.add_subplot(311)
a2 = f.add_subplot(312)
a3 = f.add_subplot(313)

a1.plot(t, x)
a2.plot(t, y)
a3.plot(t, z)
plt.show()

# frequency
def disp_freq():
sample = pd.read_csv(file_name)
array = np.array(sample)
where_are_NaNs = np.isnan(array)
array[where_are_NaNs] = 0

x = array[:, 1]
y = array[:, 2]
z = array[:, 3]
t = np.arange(0, np.size(x)) * ts

nfft = np.size(x)

X = np.fft.fft(x)
Y = np.fft.fft(y)
Z = np.fft.fft(z)

N = len(X)
n = np.arange(N)
T = N / sr
freq = n / T
# Get the one-sided specturm
n_oneside = N // 2
# get the one side frequency
f_oneside = freq[:n_oneside]

f = plt.figure()
a1 = f.add_subplot(311)
a2 = f.add_subplot(312)
a3 = f.add_subplot(313)

a1.plot(f_oneside, abs(X[:N // 2]))
a2.plot(f_oneside, abs(Y[:N // 2]))
a3.plot(f_oneside, abs(Z[:N // 2]))

plt.show()

class demo(tk.Tk):

def __init__(self):
tk.Tk.__init__(self)

self.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(0, weight=1)
self.frame = tk.Frame(self)
self.frame.grid_columnconfigure(0, weight=1)
self.frame.grid_rowconfigure(0, weight=1)
self.sheet = Sheet(
self.frame,
data=pd.read_csv(
file_name, # filepath here
).values.tolist(),
)
self.sheet.enable_bindings()
self.frame.grid(row=0, column=0, sticky="nswe")
self.sheet.grid(row=0, column=0, sticky="nswe")

root = tk.Tk()
menu = Menu(root)

sample2.csv

https://drive.google.com/file/d/1JCzeldN8x5_YMTnslU59syUs2Oy_VAME/view?usp=sharing

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
- 설문 2025년 가장 기억에 남는 인터넷 이슈는? 운영자 25/12/22 - -
- AD 집에서 즐기는 Fresh 미식회 운영자 25/12/22 - -
635 공지 가독성 좋은 f-string 을 쓰자 [9] 주넹갤로그로 이동합니다. 21.10.02 3637 10
1056 공지 (공지 요청)[질문지 양식] 복붙해 쓰시오. [4] 203.121.116.11갤로그로 이동합니다. 21.12.14 2532 5
634 공지 질문 올릴때 [2] 주넹갤로그로 이동합니다. 21.10.02 2684 5
178 공지 파이썬 공부할 때 참고할만한 것들 [7] 주넹갤로그로 이동합니다. 21.04.21 8666 7
1 공지 파이썬 미니 갤러리입니다. [9] 주넹갤로그로 이동합니다. 20.12.14 3440 7
2632 일반 갓공지능 나오고 정전갤됨 [2] 개추34댓22갤로그로 이동합니다. 12.02 72 0
2631 🔎질문 파이썬 입문자인데 공부 어떻게 [1] ㅇㅇ(116.43) 11.24 152 0
2630 🔎질문 파이썬은 왜 같은 프로젝트의 다른 py파일에 바로 접근못하게 막아둔거야? [1] ㅇㅇ(220.127) 11.21 58 0
2628 일반 입문용 인강 찾고 있는데요 ㅇㅇ(106.245) 11.18 87 0
2627 일반 진짜 코딩 과제 감을 못잡겠음 [4] ㅇㅇ(118.235) 10.31 121 0
2626 일반 ㄴㄷㅋㄷ 이거 5년전거 아님? 5년 전거로 공부해도되는거야? ㅇㅇ(118.37) 10.25 42 0
2625 일반 맥OS로 공부하는거 별로일까요? [1] ㅇㅇ(118.37) 10.25 77 0
2624 일반 입문 파이썬 공부하려는데요 인강좀 추천해주세요! ㅇㅇ(118.37) 10.25 102 0
2623 일반 코딩 1도 모르는데 [5] ㅇㅇ(119.199) 10.13 138 0
2622 🔎질문 셀레니움 값이 입력이 안되는 현상이 있습니다 ㅇㅇ(39.124) 10.09 64 0
2621 일반 혼자공부하는파이썬 점프투파이썬 [1] ㅇㅇ(211.246) 09.18 275 0
2620 일반 님들이 싫어하는거 사용자 이름 없음(182.228) 08.05 95 0
2619 🔎질문 고등학생인데 질문 있어요. [3] ㅇㅇ(118.221) 07.30 207 0
2618 🔎질문 셀레니움으로 이미지 직접 다운로드 하는 방법 [1] ㅇㅇ(39.7) 07.14 105 0
2617 일반 ㄴㄷㅋㄷ 6시간짜리 5년전꺼라 버전이 달라서 어려움 [1] 빨간망토갤로그로 이동합니다. 05.30 209 0
2616 일반 파이썬 아다 떼려면 책 필요없고 ㄴㄷㅋㄷ 보면됨? [2] 빨간망토갤로그로 이동합니다. 05.23 384 0
2615 일반 7월부터 C언어 파이썬 동시에 해야하는데 [3] ㅇㅇ(118.235) 05.19 193 0
2614 🔎질문 라즈베리파이 프로그램 관련 질문 [2] ㅇㅇ(59.25) 05.04 145 0
2613 일반 에라토스테네스-신촌우왕 체식 신촌우왕갤로그로 이동합니다. 04.22 513 0
2612 일반 카메라 영상을 파이썬 flet으로 실시간 출력 작성 해보신분 [2] ㅇㅇ(218.150) 04.03 210 0
2611 🔎질문 혼자 공부하기 파이썬 책 추천좀 해주세요 [2] 토리짜갤로그로 이동합니다. 03.31 357 0
2610 일반 루트 k의 근사값 [1] 신촌우왕갤로그로 이동합니다. 03.28 195 0
2609 일반 루트 2의 근사값 [1] 신촌우왕갤로그로 이동합니다. 03.28 660 0
2608 일반 짝수 완전수 신촌우왕갤로그로 이동합니다. 03.28 119 0
2606 일반 유클리드 호제법 신촌우왕갤로그로 이동합니다. 03.22 156 0
2605 일반 비전공자 생초보 입문자 점프 투 파이썬으로 하면 되나여? [1] ㅇㅇ(223.39) 03.18 531 0
2604 일반 Int로 변환했는데 이구 왜이럴까요 [3] ㅇㅇ(210.126) 03.15 237 0
2603 일반 이거 어떻게 쳐요,,? [2] ㅇㅇ(221.154) 03.13 239 1
2602 🔎질문 고수님들 대학 파이썬 수업듣는데 질문 있어서 왔습니다 ㅠㅠ [2] ㅇㅇ(39.124) 03.11 281 0
2601 일반 파이썬으로 데이터 변형 하고 있는데 [3] ㅇㅇ(221.152) 03.08 208 1
2600 일반 게임에서 마우스 좌표는 다 잘 찍히는데 키보드가 안됨 ㅇㅇ(59.20) 03.04 161 0
2598 🔎질문 누가 좀 도와줘... [2] ㅇㅇ(115.138) 02.07 282 0
2596 🔎질문 점프투파이썬 굳이 책 사야 하나요? [2] 애개뤼를쮀에에엑갤로그로 이동합니다. 24.12.23 752 0
2595 일반 파이썬 윈도우앱에 광고달아보신분..? ㅇㅇ(222.236) 24.12.18 222 0
2594 일반 파이썬 모바일 추천 좀 ㅇㅇ(110.11) 24.12.08 248 0
2593 일반 r스튜디오 도와주십쇼 형님들.. [2] ㅇㅇ(121.154) 24.12.05 312 0
2591 일반 조졌다 [1] delegen(121.181) 24.11.18 285 0
2590 🔎질문 대학 입학전에 파이썬 공부해볼라고 하는데 [2] ㅇㅇ(110.10) 24.11.17 537 0
2589 일반 파이썬 이래 배우면 되나요?? [1] ㅇㅇ(119.195) 24.11.12 483 0
2588 🔎질문 가상환경 라이브러리 글로벌 문제 ㅇㅇ(123.214) 24.11.05 233 0
2587 일반 도와주세요 고수님들 [2] ㅇㅇ(118.217) 24.11.03 361 0
2586 일반 챗GPT 개같네 [2] 초보 파갤러(119.203) 24.10.27 519 0
2585 일반 파이썬 뭐 부터 건드려야함? 정처기 보유 [1] ㅇㅇ(118.216) 24.10.24 370 0
2582 일반 점프투파이썬이랑 나도코딩 입문강의중에 뭐 봐야함? [2] ㅇㅇ(118.235) 24.10.09 598 0
2581 일반 아이패드로 파이썬 [1] 쪼물갤로그로 이동합니다. 24.10.05 306 0
2580 일반 욜로yolo 객체학습 이후에 질문이 있습니다. [1] ㅇㅇ(117.52) 24.10.05 316 0
2579 일반 파이썬 초보 책추천 [20] 쪼물갤로그로 이동합니다. 24.10.05 6934 0
2577 일반 파린이 도와주세요 ㅠㅠ [2] ㅇㅇ(106.102) 24.10.03 299 0
2576 일반 ai로 댓글 다는거 [2] ㅇㅇ(220.95) 24.09.30 314 0
2575 일반 형님들 파이선 입문을 어떻게해야 좋을까요? [4] ㅇㅇ(106.101) 24.09.26 409 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2