import seaborn as sns
import matplotlib.pyplot as plt
: seaborn에는 다양한 plot들이 존재하지만 크게 bar, line으로 예시를 작성한다.
# lineplot
sns.lineplot(x=[1, 3, 2, 4], y=[4, 3, 2, 1])
# barplot
sns.barplot(x=[1,2,3,4],y=[0.7,0.2,0.1,0.05])
# 제목 추가
plt.title("title")
# x,y 레이블 추가하기
plt.xlabel("x_lable")
plt.ylabel("y_lable")
# 값 제한하기
plt.ylim(2,3) # 2~3의 데이터를 나타낸다.
plt.xlim(2,3)
# 그래프의 size 변경
plt.figure(figsize = (20,10))
기상청 웹 페이지에 접속해 오늘의 기온을 가져오는 과정이다. 라이브러리는 생략하고 코드를 진행한다.
driver = webdriver.Chrome(service = Service(ChromeDriverManager().install()))
driver.get("https://www.weather.go.kr/w/weather/forecast/short-term.do")
driver.implicitly_wait(5)
temp = driver.find_element(By.XPATH,'기상청 날씨 데이터 xpath').text
temp = (list(map(int,temp.replace('℃',"").split("\n"))))
결과 : [19, 17, 15, 14, 13, 13, 12, 12, 11, 11, 10, 10, 9, 9, 9, 10, 12, 14, 16]
plt.ylim(min(temp)-2,max(temp)+2)
sns.lineplot(
x=[i for i in range(len(temp))],
y = temp
)
: 비슷하게 질문 태그를 갖고오는 실습도 있었으나, 결이 같다고 판단하여 마지막 실습하나로 정리합니다.
questions = [] # 질문들을 담는 리스트.
for i in range(1,6):
user_agent = {"User-Agent": "Mozilla/5.0
(Macintosh; Intel Mac OS X 10_15_4)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"}
res = requests.get(f"https://hashcode.co.kr/?page={i}")
soup = BeautifulSoup(res.text,"html.parser")
parsed_datas = soup.find_all("li","question-list-item")
for data in parsed_datas:
questions.append(data.h4.text.strip())
time.sleep(0.5)
가져온 값들은 다음과 같이 저장된다.
'파이썬에서 동적 클래스와 정적 클래스의 차이점을 제대로 이해한지 궁금합니다.',
'BI tool 과 Dashboard 솔루션의 차이',
'틀린 부분 모르겠어요ㅠㅠ',
'MSSQL 2008->2019 마이그레이션 후 게시판 정렬 문제',
'묵시적 형변환',
'y값이 입력이 안됩니다.',
'이 방식으로 배포하는 게 맞나요?',
'스택 자료 삭제 알고리즘 문제 관련 궁금한 점',
'프로그램에 대하여'
from konlpy.tag import Hannanum
words = []
hannanum = Hannanum()
for q in questions:
nouns = hannanum.nouns(q)
words += nouns
c = Counter(words)
wordcloud = WordCloud(
font_path="적용하고 싶은 폰트의 경로를 작성합니다.",
background_color = "white",
width = 1000,
height = 1000,
)
img = wordcloud.generate_from_frequencies(c.most_common(10))
plt.imshow(img)
생성을 하면 이런 느낌으로 이미지가 출력되게 된다.
: 코드를 작성해보니 예전에 비해 코드가 간결해진것 같다. 시각화 도구나, 스크래핑 툴도 업데이트가 되어서 새롭게 환기한 기분이였다.