728x90
반응형
파이썬 csv파일로 matplotlib 그래프 그리기
그래프를 그리기위해서
readData = pd.read_csv(path,
sep=',',
engine='c',
quoting=3,
error_bad_lines=False,
index_col='TimeString',
parse_dates=True)
데이터를 이렇게 읽어왔습니다.
TimeString
21.10.2022 21:04:32 1.0
21.10.2022 21:04:33 2.0
21.10.2022 21:04:34 3.0
21.10.2022 21:04:35 4.0
21.10.2022 21:04:36 5.0
21.10.2022 21:04:37 6.0
프린트해보면 데이터가 저런식으로 입력이 되어 있는데
슬라이더를 움직여서 저 시간값을 가져오거싶습니다.
일단 슬라이더 멕스값은 행갯수로 설정하게 해놨고
0-Max까지 숫자는 받아오는데 이걸로 어떻게 해야 저 시간값을 빼올수 있을까요?
(방법)
어떤 UI package의 슬라이더인지 말씀이 없어서
tkinter의 Scale(슬라이더)로 만든 것입니다.
다음은 테스트를 위해서 df 를 만든 것입니다.
import pandas as pd
import numpy as np
readData = pd.DataFrame(columns=range(2))
readData.columns = ['t','value']
readData.loc[len(readData)] = ['21.10.2022 21:04:32',1.0]
readData.loc[len(readData)] = ['21.10.2022 21:04:33',2.0]
readData.loc[len(readData)] = ['21.10.2022 21:04:34',3.0]
readData.loc[len(readData)] = ['21.10.2022 21:04:35',4.0]
readData.loc[len(readData)] = ['21.10.2022 21:04:36',5.0]
readData.loc[len(readData)] = ['21.10.2022 21:04:37',6.0]
슬라이더로 readData의 time부분 읽는 것입니다.
from tkinter import *
root = Tk()
root.title('슬라이더 위젯 study')
root.geometry("400x400")
def slide(self):
value = readData.t[vertical.get()] # readData.t의 인덱스로 값을 가져옴
label.config(text=value) # Label에 text 설정
label = Label(root, text=readData.t[0]) # readData.t의 인덱스 0 의 값으로 설정
label.pack(side=LEFT, padx=10,pady=10)
to_n = len(readData)-1 # readData의 row 수. 인덱스로 사용하기 때문에 -1
vertical = Scale(root, from_=0, to=to_n, orient=VERTICAL, command=slide) # to를 readData의 row수로 설정
vertical.pack(side=LEFT, padx=10,pady=10)
root.mainloop()
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 근로 시급 계산 (0) | 2023.01.05 |
---|---|
[파이썬] 문제 : 숫자 업다운 게임에서 숫자를 알파벳으로 지정하기 (0) | 2023.01.05 |
[파이썬] 문제 : 입력시 숫자형인지 파악 (0) | 2023.01.05 |
[파이썬] 문제 : 터틀 줄어드는 사각형 그리기 (1) | 2023.01.05 |
[파이썬] 문제 : 미세먼지 처리 에러 - no numeric data to plot (0) | 2023.01.05 |
댓글