webp to pngwebp 파일은 웹에서는 아주 가볍고 무손실 및 손실 압축 모두에서 투명도를 지원합니다. 웹사이트에서 퍼포먼스가 좋지만 호환성이 좋질 못합니다. 아직은 webp의 쓰임이 많지 않고 png를 많이 쓰고 있습니다.png 파일도 webp보다는 효율적이진 않지만 무손실 압축이 가능합니다. 그렇지만 호환성이 가장 좋습니다.호환성 때문에 webp을 png로 바꿔야 하는 경우가 생깁니다.특히, 운영체제 내에서는 png가 훨씬 쓰임이 많아서 webp을 웹사이트에서 가져오면 바꿔야하는 것이죠. cloudconvert라는 곳을 가면 바꿔줍니다. 단, 5장 제한이 있습니다.회원가입시에는 20장까지는 가능합니다.https://cloudconvert.com/png-to-webp PNG to WEBP | Cl..
Matplotlib에서 figure와 axes를 직접 제어하는 방법과 간단한 사용법의 차이 Matplotlib는 그래프를 그릴 때 2가지 방법이 있습니다. figure와 axes를 직접 제어하느냐에 따라 방법이 달라집니다. 직접 제어하면 코딩이 약간 복잡해지지만 관리, 유지보수가 편해지고 그렇지 않으면 바로 그릴 수는 있지만 그래프 갯수가 많아지고 여러가지 스타일을 부여하면 복잡한 코딩이 될 수 있습니다. 간단한 사용법 figure와 axes를 제어하지 않는 방법입니다. 직관적으로 그림을 그릴 수 있습니다. 서브플롯 각각을 설정해서 그래프를 그립니다. import matplotlib.pyplot as plt import numpy as np # 데이터 생성 x = np.linspace(0, 2*np.pi..
Matplotlib으로 초간단 애니메이션 만들기 가장 접근하기 쉬운 matplotlib로 애니메이션 그림을 만드는 방법입니다. 애니메이션은 사실 여러가지 방법이 있을 걸로 아는데 초간단으로 만드는 방법 알려드리겠습니다. plt.pause를 이용하기 matplotlib에는 pause라는 정지 메쏘드가 있습니다. 내가 지정한 시간만큼 정지하고 다음 작업을 진행합니다. pause를 이용해 애니메이션처럼 만들 수 있는데요. for문과 함께 활용하면 쉽게 만들 수 있습니다. 예제로 랜덤으로 정수를 1000천 선택하고 그 선택한 정수를 하나씩 찍는 애니메이션을 만들어보겠습니다. import matplotlib.pyplot as plt import numpy as np import random x_values = [..
원하는 좌표에 점으로 표현할 수 있다면? 그래프를 그리는 건 어찌어찌 하는데 내가 원하는 곳에 점을 표시하고 글씨를 쓸 수 있으면 더 멋진 그래프를 만들 수 있을겁니다. 멋진 그래프를 그리기 위해 마커설정과 글씨 넣는 방법을 정리해봤습니다. 그래프에 점 넣기 점을 넣으려면 scatter를 이용하면 됩니다. matplotlib는 그래프 겹치기가 가능한 라이브러리라는 것을 이용하면 되는데 다음과 같이 합니다. import matplotlib.pyplot as plt # x와 y 좌표 지정 x = [1, 2, 3, 4, 5] y = [10, 15, 13, 18, 20] # 그래프를 그리기 plt.plot(x, y) # 원하는 위치에 점 넣기(3,13) plt.scatter(3, 13, color='red', ..
matplotlib로 그린 그래프 축 없애는 방법입니다. 그래프를 보기 좋게 만들기 위해서 축을 없애거나 축 범위만 없애고 싶으면 다음과 같이 합니다. x,y는 0~10 숫자로 구성하였습니다. x = np.linspace(0,9,11) y = [2*i for i in x] 축 범위 없애기 x,y 축의 범위만 없애고 싶다면 gca().axes.axis.set_visible(False) 를 수행합니다. x축을 없애고 싶으면 xaxis를 y축을 없애고 싶음면 yaxis를 입력합니다. # x범위 없애기 plt.subplot(1,2,1) plt.plot(x,y) plt.gca().axes.xaxis.set_visible(False)#x범위 없애기 plt.title('x-axis del') # y 범위 없애기 pl..
seaborn color 팔레트 설정하는 방법입니다. 일단 컬러맵을 직접 설정하는 방법도 있는데 이는 이전에 포스팅으로 해놨습니다. 참고하시기 바랍니다. [python] heatmap 색상바꾸기(컬러맵 만들기) heatmap 글을 쓰다보니 양이 많아 포스팅을 새로 합니다. 데이터는 heatmap 그리기 포스팅에서 했던 예제를 그대로 쓰겠습니다. import pandas as pd import matplotlib.pyplot as plt import numpy as np data =.. seong6496.tistory.com 개인적으로는 seaborn에 괜찮은게 많으니깐 전문가가 아니면 갖다쓰는게 좋지 않을까 싶습니다. 팔레트 불러오기 먼저 seaborn에서 팔레트를 불러오려면 color_palette()..
matplotlib를 이용한 boxplot 그리는 방법입니다. boxplot에 나타내는 수치는 다섯가지로 다음 수치를 기반으로 그려집니다. 최소값 : 데이터의 0% 지점 제 1사분위 수(Q1) : 데이터의 25% 지점 제 2사분위 수 또는 중위수(Q2) : 데이터의 50% 지점 제 3사분위 수(Q3) : 데이터의 75% 지점 최대값 : 데이터의 100% 지점 이 값들로 그려진 boxplot에서 데이터를 크기순으로 나열했을 때의 분포지점과 이상치를 알 수 있습니다. 이상치는 $ Q3+1.5*IQR $ 보다 크거나 $ Q1-1.5*IQR$ 보다 작은 수로 나타냅니다. 여기서 IQR은 사분위수 범위로 Q3-Q1로 계산된 값입니다. 이상치로 판별된 데이터는 boxplot에서 점으로 나타나게 됩니다. matplo..
heatmap 글을 쓰다보니 양이 많아 포스팅을 새로 합니다. 데이터는 heatmap 그리기 포스팅에서 했던 예제를 그대로 쓰겠습니다. import pandas as pd import matplotlib.pyplot as plt import numpy as np data = np.random.randn(10,10) columns = ['X' + str(x).zfill(1) for x in range(10)] df = pd.DataFrame(data,columns=columns) df.index = ['Y' + str(x).zfill(1) for x in range(10)] matplotlib에서 제공되는 컬러맵 matplotlib에는 다양한 색상군이 있는데 아래 링크에서 볼 수 있습니다. https://..
matplotlib를 이용한 heat map 그리는 방법입니다. 데이터는 임의로 10x10 행렬로 만들어서 데이터프레임으로 만들었습니다. import pandas as pd import matplotlib.pyplot as plt import numpy as np data = np.random.randn(10,10) columns = ['X' + str(x).zfill(1) for x in range(10)] df = pd.DataFrame(data,columns=columns) df.index = ['Y' + str(x).zfill(1) for x in range(10)] heatmap 그리기 maplotlib에서 heatmap 그리는 방법은 2가지가 있습니다. imshow와 pcolor를 이용한 방법..
파이썬 상에서 심플하게 주식차트를 만들어보겠습니다. matplotlib는 간단히 쓸때 단순한 통계적인 결과의 그래프를 많이 사용했다면 cufflinks를 사용하여 특히 금융 데이터를 다룬다면 좀 더 실제적인 그래프들을 그릴 수 있습니다. 주식종목의 과거데이터를 이용해 주식 데이터 분석을 할때 굉장히 유용하고 이를 활용해서 새로운 전략에 대한 영감을 받을 수 있지 않을까 싶습니다. 데이터는 Kosdaq 150 레버리지를 사용했습니다. 요즘 포스팅할때마다 쓰는 것 같아서 조금 그렇긴 하지만 쓰던 것 쓰는게 좋으니 또 쓰겠습니다. df 일단 plotly, cufflinks, pandas를 가져오겠습니다. import pandas as pd import cufflinks as cf import plotly.of..
matplotlib는 정적인 그래프를 그려서 줌인이나 줌아웃, 그래프 다운로드 등을 하려면 코드을 더 쳐서 그래프를 움직이고 변경하는 방식을 반복했습니다. 이 기능을 한번에 할 수 있는 plotly를 소개할까 합니다. plotly가 기능이 많은데 각 기능은 따로 떼어서 작성하고 이번 포스팅에서는 가장 간단한 기능만 소개하겠습니다. 설치 plotly는 아나콘다에서 기본적으로 설치되는 모듈이 아니라서 따로 설치를 해야합니다. plotly를 사용하려면 cufflinks 라는 모듈을 사용해야 그래프가 그려집니다. 데이터프레임을 iplot을 해야하는데 cufflinks가 임포트되어 있지 않으면 오류가 발생하고 작동을 안 합니다. 설치는 pip으로 하면 됩니다. 저는 쥬피터 노트북을 주로 사용해서 쥬피터 노트북 기..
matplotlib를 이용해 3D plot의 앵글을 바꾸는 방법입니다. 3D는 입체라서 여러면이 존재하는데 회전을 시켜가며 보는게 가장 정확하게 그림을 보는거지만 matplotlib는 정적인 그림이라 한면만 보여줍니다. 그래서 앵글을 바꿔서 보여주는 방식으로 되어 있습니다. view_init()를 쓰면 간단히 되어서 이번 포스팅은 굉장히 짧지 않을까 싶습니다. 이전 포스팅에서 3D plot을 그려보았는데 이번엔 다른 면을 보기 위해 각도를 바꾸겠습니다. view_init의 파라미터부터 보면 다음과 같습니다. view_init(elev=None , azim=None) elev : elevation을 약자로 쓴것으로 z plane의 각도를 의미. 입력한 각도대로 위 아래로 변화함. azim : azimuth..
matplotlib를 이용해 3D 그래프를 그려보겠습니다. 분야에 따라서 많이 쓰이는 곳도 있고 아닌 곳도 있지만 여러모로 유용하게 쓸 수 있는 툴입니다. 더 좋은 모듈이 있지만 파이썬의 기본 모듈로 그릴 수 있는 것도 좋을 것 같아서 공유의 의미로 포스팅을 할까 합니다. 3차원 그래프를 그리는 것이니 3차원 좌표가 필요합니다. 3차원 좌표를 바로 만들어서 할 수도 있고 함수에 의해 데이터가 이루어진다면 $ z = f(x,y) $ 으로 여기고 그에 맞게 데이터를 맞춰주면 됩니다. 함수에 의해 움직이는 데이터를 가지고 해보겠습니다. import numpy as np x = np.linspace(50,150,24) y = np.linspace(0.5,2.5,24) x,y = np.meshgrid(x,y) z..
여러모로 많이 쓰이는 히스토그램 그리는 방법에 대해서 알아볼까 합니다. matplotlib를 이용해 그리는데 파라미터가 굉장히 많습니다. 그만큼 변형이 많이 되는 그래프입니다. 파라미터를 보면 굉장히 많습니다. plt.hist(x,bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, **kwargs) 여기서 메인으로 쓰는 파라미터만 설명을 하겠습니다. x : 데이터값으로 리스트나 ndarray 타입으로 넣음..
데이터 값이 어디에 모여있고 어디로 떨어져있는지 알 수 있는 산포도 그래프를 작성해보겠습니다. 작성 방법은 간단합니다. plt.scatter(x,y,c,marker,cmap) 정도를 이용하면 기본적인 plot을 만들 수 있습니다. x,y는 데이터 포지션으로 x축, y축을 무엇으로 할 것인지 정해줍니다. cmap으로 colorbar를 만들 수 있는데 값에 따라 색깔을 정해줍니다. 색깔을 정해주는 데이터 값을 c에 입력합니다. c는 전체 색깔리스트를 입력하는 것이니 리스트로 입력합니다. marker는 표시하는 방식인데 디폴트값은 'o'로 되어있습니다. 즉, 점으로 표시가 됩니다. 딱히 변경할게 없는 파라미터이긴 합니다. 좀 더 풍성하게 그래프를 그릴려면 scatter에 쓰이는 파라미터를 더 알고 있어야 하지..