zerohertzLib.plot

Plot

다양한 변수들을 최대한 지정하지 않고 사용할 수 있는 시각화 함수들

zerohertzLib.plot.barh(data, xlab=None, ylab=None, xlim=None, ylim=None, title='tmp', colors=None, figsize=(10, 15), rot=0, dim=None, dimsize=10, sign=1, dpi=300, save=True)[source]

Dictionary로 입력받은 data를 세로 bar chart로 시각화

Parameters:
  • data (Dict[str, Any]) – 입력 data

  • xlab (Optional[str]) – Graph에 출력될 X축 label

  • ylab (Optional[str]) – Graph에 출력될 Y축 label

  • xlim (Optional[List[Union[int, float]]]) – Graph에 출력될 X축 limit

  • ylim (Optional[List[Union[int, float]]]) – Graph에 출력될 Y축 limit

  • title (Optional[str]) – Graph에 표시될 제목 및 file 이름

  • colors (Optional[Union[str, List]]) – 각 요소의 색

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • rot (Optional[int]) – X축의 눈금 회전 각도

  • dim (Optional[str]) – 각 bar 상단에 표시될 값의 단위 (%: percentage)

  • dimsize (Optional[float]) – 각 bar 상단에 표시될 값의 크기

  • sign (Optional[int]) – 각 bar 상단에 표시될 값의 유효숫자

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

  • save (Optional[bool]) – Graph 저장 여부

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> data = {"Terran": 27, "Zerg": 40, "Protoss": -30}
>>> zz.plot.barh(data, xlab="Population", ylab="Races", title="Star Craft", dim="")
>>> data = {"yticks": ["Terran", "Zerg", "Protoss"], "Type A": [4, 5, 6], "Type B": [4, 3, 2], "Type C": [8, 5, 12], "Type D": [6, 3, 2]}
>>> zz.plot.barh(data, xlab="Time [Sec]", ylab="Races", title="Star Craft", dim="%", sign=2)
_images/plot.barh.png
zerohertzLib.plot.barv(data, xlab=None, ylab=None, xlim=None, ylim=None, title='tmp', colors=None, figsize=(15, 10), rot=0, dim=None, dimsize=10, sign=1, dpi=300, save=True)[source]

Dictionary로 입력받은 data를 가로 bar chart로 시각화

Parameters:
  • data (Dict[str, Any]) – 입력 data

  • xlab (Optional[str]) – Graph에 출력될 X축 label

  • ylab (Optional[str]) – Graph에 출력될 Y축 label

  • xlim (Optional[List[Union[int, float]]]) – Graph에 출력될 X축 limit

  • ylim (Optional[List[Union[int, float]]]) – Graph에 출력될 Y축 limit

  • title (Optional[str]) – Graph에 표시될 제목 및 file 이름

  • colors (Optional[Union[str, List]]) – 각 요소의 색

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • rot (Optional[int]) – X축의 눈금 회전 각도

  • dim (Optional[str]) – 각 bar 상단에 표시될 값의 단위 (%: percentage)

  • dimsize (Optional[float]) – 각 bar 상단에 표시될 값의 크기

  • sign (Optional[int]) – 각 bar 상단에 표시될 값의 유효숫자

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

  • save (Optional[bool]) – Graph 저장 여부

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> data = {"Terran": 27, "Zerg": 40, "Protoss": -30}
>>> zz.plot.barv(data, xlab="Races", ylab="Population", title="Star Craft", dim="")
>>> data = {"xticks": ["Terran", "Zerg", "Protoss"], "Type A": [4, 5, 6], "Type B": [4, 3, 2], "Type C": [8, 5, 12], "Type D": [6, 3, 2]}
>>> zz.plot.barv(data, xlab="Races", ylab="Time [sec]", title="Star Craft", dim="%", sign=2)
_images/plot.barv.png
zerohertzLib.plot.candle(data, title='tmp', figsize=(18, 10), signals=None, threshold=1, dpi=300, save=True)[source]

OHLCV (Open, High, Low, Close, Volume) data에 따른 candle chart

Note

  • 적색: 매수

  • 청색: 매도

  • 실선 (-): Backtest 시 signal이 존재하는 매수, 매도

  • 파선 (--): Backtest 시 사용하지 않은 signal의 매수, 매도

  • 일점쇄선 (-.): Backtest logic에 의한 매수, 매도

Parameters:
  • data (pd.DataFrame) – OHLCV (Open, High, Low, Close, Volume) data

  • title (Optional[str]) – Graph에 표시될 제목 및 file 이름

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • signals (Optional[Dict[str, Any]]) – 추가적으로 plot할 data

  • threshold (Optional[Union[int, Tuple[int]]]) – 매수, 매도를 결정할 signals 경계값

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

  • save (Optional[bool]) – Graph 저장 여부

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> zz.plot.candle(data, title)
>>> signals = zz.quant.macd(data)
>>> zz.plot.candle(data, "MACD", signals=signals)
_images/plot.candle.png
zerohertzLib.plot.color(cnt=1, rand=False, uint8=False, palette='husl')[source]

색 추출 함수

Parameters:
  • cnt (Optional[int]) – 추출할 색의 수

  • rand (Optional[bool]) – Random 추출 여부

  • uint8 (Optional[bool]) – 출력 색상의 type

  • palette (Optional[str]) – 추출할 색들의 palette

Returns:

단일 색 또는 list로 구성된 여러 색

Return type:

Union[Tuple[float], List[int], List[Tuple[float]], List[List[int]]]

Examples

>>> zz.plot.color()
(0.9710194877714075, 0.4645444048369612, 0.21958695134807432)
>>> zz.plot.color(4)
[(0.9677975592919913, 0.44127456009157356, 0.5358103155058701), (0.5920891529639701, 0.6418467016378244, 0.1935069134991043), (0.21044753832183283, 0.6773105080456748, 0.6433941168468681), (0.6423044349219739, 0.5497680051256467, 0.9582651433656727)]
>>> zz.plot.color(4, True)
[(0.22420518847992715, 0.6551391052055489, 0.8272616286387289), (0.9677975592919913, 0.44127456009157356, 0.5358103155058701), (0.21125140522513897, 0.6760830215342485, 0.6556099802889619), (0.9590000285927794, 0.36894286394742526, 0.9138608732554839)]
>>> zz.plot.color(uint8=True)
[53, 172, 167]
>>> zz.plot.color(4, uint8=True)
[[246, 112, 136], [150, 163, 49], [53, 172, 164], [163, 140, 244]]
>>> zz.plot.color(4, True, True)
[[247, 117, 79], [73, 160, 244], [54, 171, 176], [110, 172, 49]]
zerohertzLib.plot.figure(figsize=(15, 10))[source]

Graph 생성을 위한 함수

Parameters:

figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

Returns:

Graph window 생성

Return type:

None

Examples

>>> zz.plot.figure((20, 20))
zerohertzLib.plot.font(kor=False, size=20)[source]

plot submodule 내 사용될 font 및 크기 설정

Parameters:
  • kor (Optional[bool]) – 한국어 여부

  • size (Optional[int]) – Font의 크기

Returns:

plt.rcParams 을 통한 전역적 설정

Return type:

None

zerohertzLib.plot.hist(data, xlab=None, ylab=None, xlim=None, ylim=None, title='tmp', colors=None, cnt=30, ovp=True, figsize=(15, 10), dpi=300, save=True)[source]

Dictionary로 입력받은 data를 histogram으로 시각화

Parameters:
  • data (Dict[str, List[Union[int, float]]]) – 입력 data

  • xlab (Optional[str]) – Graph에 출력될 X축 label

  • ylab (Optional[str]) – Graph에 출력될 Y축 label

  • xlim (Optional[List[Union[int, float]]]) – Graph에 출력될 X축 limit

  • ylim (Optional[List[Union[int, float]]]) – Graph에 출력될 Y축 limit

  • title (Optional[str]) – Graph에 표시될 제목 및 file 이름

  • colors (Optional[Union[str, List]]) – 각 요소의 색

  • cnt (Optional[int]) – Bin의 개수

  • ovp (Optional[bool]) – Class에 따른 histogram overlap 여부

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

  • save (Optional[bool]) – Graph 저장 여부

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> data = {"Terran": list(np.random.rand(1000) * 10), "Zerg": list(np.random.rand(1000) * 10 + 1), "Protoss": list(np.random.rand(1000) * 10 + 2)}
>>> zz.plot.hist(data, xlab="Scores", ylab="Population", title="Star Craft")
_images/plot.hist.png
zerohertzLib.plot.pie(data, dim=None, title='tmp', colors=None, figsize=(15, 10), int_label=True, dpi=300, save=True)[source]

Dictionary로 입력받은 data를 pie chart로 시각화

Parameters:
  • data (Dict[str, Union[int, float]]) – 입력 data

  • dim (Optional[str]) – 입력 data 의 단위

  • title (Optional[str]) – Graph에 표시될 제목 및 file 이름

  • colors (Optional[Union[str, List]]) – 각 요소의 색

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • int_label (Optional[bool]) – Label 내 수치의 소수점 표기 여부

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

  • save (Optional[bool]) – Graph 저장 여부

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> data = {"Terran": 27, "Zerg": 40, "Protoss": 30}
>>> zz.plot.pie(data, dim="$", title="Star Craft")
_images/plot.pie.png
zerohertzLib.plot.plot(xdata, ydata, xlab=None, ylab=None, xlim=None, ylim=None, stacked=False, ncol=1, title='tmp', colors=None, markersize=12, figsize=(15, 10), dpi=300, save=True)[source]

List와 Dictionary로 입력받은 data를 line chart로 시각화

Parameters:
  • xdata (List[Union[int, float]]) – 입력 data (X축)

  • ydata (Dict[str, List[Union[int, float]]]) – 입력 data (Y축)

  • xlab (Optional[str]) – Graph에 출력될 X축 label

  • ylab (Optional[str]) – Graph에 출력될 Y축 label

  • xlim (Optional[List[Union[int, float]]]) – Graph에 출력될 X축 limit

  • ylim (Optional[List[Union[int, float]]]) – Graph에 출력될 Y축 limit

  • stacked (Optional[bool]) – Stacked plot 여부

  • ncol (Optional[int]) – Graph에 표시될 legend 열의 수

  • title (Optional[str]) – Graph에 표시될 제목 및 file 이름

  • colors (Optional[Union[str, List]]) – 각 요소의 색

  • markersize (Optional[int]) – Graph에 표시될 marker의 size

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

  • save (Optional[bool]) – Graph 저장 여부

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

stacked=False:
>>> xdata = [i for i in range(20)]
>>> ydata = {"Terran": list(np.random.rand(20) * 10), "Zerg": list(np.random.rand(20) * 10 + 1), "Protoss": list(np.random.rand(20) * 10 + 2)}
>>> zz.plot.plot(xdata, ydata, xlab="Time [Sec]", ylab="Scores", title="Star Craft")
_images/plot.plot.1.png
stacked=True:
>>> ydata["Total"] = [sum(data) + 10 for data in zip(ydata["Terran"], ydata["Protoss"], ydata["Zerg"])]
>>> zz.plot.plot(xdata, ydata, xlab="Time [Sec]", ylab="Scores", stacked=True, title="Star Craft")
_images/plot.plot.2.png
zerohertzLib.plot.savefig(title, dpi=300)[source]

Graph 저장 함수

Parameters:
  • title (str) – Graph file 이름

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> zz.plot.savefig("Star Craft")
zerohertzLib.plot.scatter(data, xlab=None, ylab=None, xlim=None, ylim=None, ncol=1, title='tmp', colors=None, markersize=36, figsize=(15, 10), dpi=300, save=True)[source]

Dictionary로 입력받은 data를 scatter plot으로 시각화

Parameters:
  • data (Dict[str, List[List[Union[int, float]]]]) – 입력 data

  • xlab (Optional[str]) – Graph에 출력될 X축 label

  • ylab (Optional[str]) – Graph에 출력될 Y축 label

  • xlim (Optional[List[Union[int, float]]]) – Graph에 출력될 X축 limit

  • ylim (Optional[List[Union[int, float]]]) – Graph에 출력될 Y축 limit

  • ncol (Optional[int]) – Graph에 표시될 legend 열의 수

  • title (Optional[str]) – Graph에 표시될 제목 및 file 이름

  • colors (Optional[Union[str, List]]) – 각 요소의 색

  • markersize (Optional[int]) – Graph에 출력될 marker의 크기

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

  • save (Optional[bool]) – Graph 저장 여부

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> data = {"Terran": [list(np.random.rand(200) * 10), list(np.random.rand(200) * 10)], "Zerg": [list(np.random.rand(200) * 5 - 1), list(np.random.rand(200) * 5 + 1)], "Protoss": [list(np.random.rand(200) * 10 + 3), list(np.random.rand(200) * 10 - 2)]}
>>> zz.plot.scatter(data, xlab="Cost [Mineral]", ylab="Scores", title="Star Craft", markersize=400)
_images/plot.scatter.png
zerohertzLib.plot.table(data, col=None, row=None, title='tmp', fontsize=35, figsize=(20, 8), dpi=300)[source]

Dictionary로 입력받은 data를 scatter plot으로 시각화

Parameters:
  • data (List[List[Union[int, float, str]]]) – len(row) X len(col) 의 크기를 가지는 list

  • col (Optional[List[Union[int, float, str]]]]) – 열 (column)의 label

  • row (Optional[List[Union[int, float, str]]]]) – 행 (row)의 label

  • title (Optional[str]) – 저장될 file의 이름

  • fontsize (Optional[int]) – 문자의 크기

  • figsize (Optional[Tuple[int]]) – Graph의 가로, 세로 길이

  • dpi (Optional[int]) – Graph 저장 시 DPI (Dots Per Inch)

Returns:

저장된 graph의 절대 경로

Return type:

str

Examples

>>> data = [["123", 123, 123.4], [123.4, "123", 123], [123, 123.4, "123"], ["123", 123, 123.4]]
>>> col = ["Terran", "Zerg", "Protoss"]
>>> row = ["test1", "test2", "test3", "test4"]
>>> zz.plot.table(data, col, row, title="Star Craft")
>>> zz.plot.table(data, col, row, title="Star Craft2", fontsize=50)
_images/plot.table.png