seolpyo-mplchart 2.1.0__tar.gz → 2.1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of seolpyo-mplchart might be problematic. Click here for more details.

Files changed (68) hide show
  1. {seolpyo_mplchart-2.1.0/seolpyo_mplchart.egg-info → seolpyo_mplchart-2.1.0.3}/PKG-INFO +3 -3
  2. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/README.md +1 -1
  3. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/pyproject.toml +2 -2
  4. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/e_axis.py +2 -1
  5. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/e_axis.py +0 -1
  6. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/h_data.py +1 -0
  7. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/ax.py +2 -0
  8. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/candle.py +1 -1
  9. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/cursor.py +4 -0
  10. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/figure.py +1 -0
  11. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/unit.py +1 -1
  12. seolpyo_mplchart-2.1.0.3/seolpyo_mplchart/_utils/nums.py +1 -0
  13. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3/seolpyo_mplchart.egg-info}/PKG-INFO +3 -3
  14. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart.egg-info/SOURCES.txt +1 -1
  15. seolpyo_mplchart-2.1.0/seolpyo_mplchart/_config/utils.py +0 -67
  16. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/MANIFEST.in +0 -0
  17. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/__init__.py +0 -0
  18. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/__init__.py +0 -0
  19. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/__init__.py +0 -0
  20. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/a_canvas.py +0 -0
  21. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/b_artist.py +0 -0
  22. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/c_draw.py +0 -0
  23. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/d_segment.py +0 -0
  24. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/f_background.py +0 -0
  25. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/g_event.py +0 -0
  26. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/h_data.py +0 -0
  27. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/base/test.py +0 -0
  28. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/__init__.py +0 -0
  29. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/b_artist.py +0 -0
  30. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/c_draw.py +0 -0
  31. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/d_segment.py +0 -0
  32. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/g_event.py +0 -0
  33. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/cursor/test.py +0 -0
  34. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/__init__.py +0 -0
  35. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/a_canvas.py +0 -0
  36. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/b_artist.py +0 -0
  37. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/c_draw.py +0 -0
  38. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/d_segment.py +0 -0
  39. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/e_axis.py +0 -0
  40. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/f_background.py +0 -0
  41. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/g_event.py +0 -0
  42. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/h_data.py +0 -0
  43. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_chart/slider/test.py +0 -0
  44. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/__init__.py +0 -0
  45. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/config.py +0 -0
  46. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/format.py +0 -0
  47. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/ma.py +0 -0
  48. {seolpyo_mplchart-2.1.0/seolpyo_mplchart/_utils → seolpyo_mplchart-2.1.0.3/seolpyo_mplchart/_config}/nums.py +0 -0
  49. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/slider/__init__.py +0 -0
  50. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/slider/config.py +0 -0
  51. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/slider/figure.py +0 -0
  52. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/slider/nav.py +0 -0
  53. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_config/volume.py +0 -0
  54. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/__init__.py +0 -0
  55. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/theme/__init__.py +0 -0
  56. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/theme/dark.py +0 -0
  57. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/theme/light.py +0 -0
  58. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/utils.py +0 -0
  59. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/xl/__init__.py +0 -0
  60. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/xl/csv.py +0 -0
  61. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/_utils/xl/xlsx.py +0 -0
  62. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/sample/apple.txt +0 -0
  63. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/sample/samsung.txt +0 -0
  64. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart/test.py +0 -0
  65. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart.egg-info/dependency_links.txt +0 -0
  66. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart.egg-info/requires.txt +0 -0
  67. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/seolpyo_mplchart.egg-info/top_level.txt +0 -0
  68. {seolpyo_mplchart-2.1.0 → seolpyo_mplchart-2.1.0.3}/setup.cfg +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seolpyo-mplchart
3
- Version: 2.1.0
3
+ Version: 2.1.0.3
4
4
  Summary: Fast candlestick chart using Python. Includes navigator, slider, navigation, and text information display functions
5
5
  Author-email: white-seolpyo <white-seolpyo@naver.com>
6
6
  License: MIT License
7
7
  Project-URL: Homepage, https://white.seolpyo.com/
8
- Project-URL: Documentation(English), https://white.seolpyo.com/entry/148/
8
+ Project-URL: Documentation(English), https://github.com/white-seolpyo/seolpyo-mplchart/tree/main
9
9
  Project-URL: Documentation(한글), https://white.seolpyo.com/entry/147/
10
10
  Project-URL: repository, https://github.com/white-seolpyo/seolpyo-mplchart
11
11
  Project-URL: Issues, https://github.com/white-seolpyo/seolpyo-mplchart/issues
@@ -32,7 +32,7 @@ Ethereum: 0x1c5fb8a5e0b1153cd4116c91736bd16fabf83520
32
32
 
33
33
 
34
34
  # Document
35
- [English Document](https://github.com/white-seolpyo/seolpyo-mplchart/tree/maind)
35
+ [English Document](https://github.com/white-seolpyo/seolpyo-mplchart/tree/main)
36
36
 
37
37
  [한글 설명서](https://white.seolpyo.com/entry/147/?from=pypi)
38
38
 
@@ -5,7 +5,7 @@ Ethereum: 0x1c5fb8a5e0b1153cd4116c91736bd16fabf83520
5
5
 
6
6
 
7
7
  # Document
8
- [English Document](https://github.com/white-seolpyo/seolpyo-mplchart/tree/maind)
8
+ [English Document](https://github.com/white-seolpyo/seolpyo-mplchart/tree/main)
9
9
 
10
10
  [한글 설명서](https://white.seolpyo.com/entry/147/?from=pypi)
11
11
 
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
8
8
 
9
9
  [project]
10
10
  name = "seolpyo-mplchart"
11
- version = "2.1.0"
11
+ version = "2.1.0.3"
12
12
  dependencies = [
13
13
  "matplotlib >= 3.7.0",
14
14
  "pandas >= 2.0.0",
@@ -41,7 +41,7 @@ keywords = [
41
41
 
42
42
  [project.urls]
43
43
  Homepage = "https://white.seolpyo.com/"
44
- "Documentation(English)" = "https://white.seolpyo.com/entry/148/"
44
+ "Documentation(English)" = "https://github.com/white-seolpyo/seolpyo-mplchart/tree/main"
45
45
  "Documentation(한글)" = "https://white.seolpyo.com/entry/147/"
46
46
  repository = "https://github.com/white-seolpyo/seolpyo-mplchart"
47
47
  Issues = "https://github.com/white-seolpyo/seolpyo-mplchart/issues"
@@ -116,6 +116,7 @@ class VolumeMixin(Base):
116
116
  self.collection_volume.set_edgecolor(seg_edgecolor_volume)
117
117
  return
118
118
 
119
+
119
120
  class CandleMixin(Base):
120
121
  def _set_candle_collection_segments(self, ind_start, ind_end):
121
122
  # print(f'{self.edgecolor_candle[ind_start:ind_end]=}')
@@ -131,7 +132,7 @@ class CandleMixin(Base):
131
132
  self.collection_candle.set_segments(self.segment_candle_wick[ind_start:ind_end])
132
133
  self.collection_candle.set_facecolor([])
133
134
  self.collection_candle.set_edgecolor(self.edgecolor_candle[ind_start:ind_end])
134
- self.collection_candle.set_linewidth(1.5)
135
+ self.collection_candle.set_linewidth(self.CONFIG.CANDLE.linewidth * 2)
135
136
  self.collection_candle.set_antialiased(False)
136
137
  return
137
138
 
@@ -4,7 +4,6 @@ from matplotlib.text import Text
4
4
  from ..base.a_canvas import Figure
5
5
 
6
6
 
7
-
8
7
  class Base:
9
8
  figure: Figure
10
9
  ax_price: Axes
@@ -2,6 +2,7 @@ import pandas as pd
2
2
 
3
3
  from ..._config import ConfigData
4
4
 
5
+
5
6
  class Base:
6
7
  CONFIG: ConfigData
7
8
 
@@ -1,6 +1,7 @@
1
1
 
2
2
 
3
3
  class Grid:
4
+ "https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.grid.html"
4
5
  def __init__(self):
5
6
  self.visible = True
6
7
  self.linewidth = 0.7
@@ -12,6 +13,7 @@ class Grid:
12
13
  GRID = Grid()
13
14
 
14
15
  class TickData:
16
+ "https://matplotlib.org/stable/api/ticker_api.html"
15
17
  def __init__(self):
16
18
  self.edgecolor: str|tuple[float, float, float, float] = 'k'
17
19
  self.fontcolor: str|tuple[float, float, float, float] = 'k'
@@ -22,7 +22,7 @@ CANDLEEDGECOLOR = CandleEdgeColorData()
22
22
  class CandleData:
23
23
  def __init__(self):
24
24
  self.half_width = 0.24
25
- self.linewidth = 0.8
25
+ self.linewidth = 0.4
26
26
  self.line_color: str|tuple[float, float, float, float] = 'k'
27
27
  self.FACECOLOR = CANDLEFACECOLOR
28
28
  self.EDGECOLOR = CANDLEEDGECOLOR
@@ -1,6 +1,7 @@
1
1
 
2
2
 
3
3
  class CrossLineData:
4
+ "https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html"
4
5
  def __init__(self):
5
6
  self.edgecolor = 'k'
6
7
  self.linewidth = 1
@@ -9,6 +10,7 @@ class CrossLineData:
9
10
  CROSSLINE = CrossLineData()
10
11
 
11
12
  class BBoxData:
13
+ "https://matplotlib.org/stable/api/_as_gen/matplotlib.patches.FancyBboxPatch.html#matplotlib.patches.FancyBboxPatch"
12
14
  def __init__(self):
13
15
  self.boxstyle = 'round'
14
16
  self.facecolor = 'w'
@@ -17,6 +19,7 @@ class BBoxData:
17
19
  BBOX = BBoxData()
18
20
 
19
21
  class Text:
22
+ "https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.text.html"
20
23
  def __init__(self):
21
24
  self.color = 'k'
22
25
  self.BBOX = BBOX
@@ -33,6 +36,7 @@ class Text:
33
36
  TEXT = Text()
34
37
 
35
38
  class Box:
39
+ "https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html"
36
40
  def __init__(self):
37
41
  self.edgecolor = 'k'
38
42
  self.linewidth = 1.2
@@ -16,6 +16,7 @@ class WatermarkData:
16
16
  WATERMARK = WatermarkData()
17
17
 
18
18
  class AdjustData:
19
+ "https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.subplots_adjust.html"
19
20
  def __init__(self):
20
21
  # 여백
21
22
  self.top = 0.98
@@ -1,4 +1,4 @@
1
- from .utils import convert_unit, convert_unit_en
1
+ from .._utils.nums import convert_unit, convert_unit_en
2
2
 
3
3
 
4
4
  class UnitData:
@@ -0,0 +1 @@
1
+ from .._config.nums import *
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seolpyo-mplchart
3
- Version: 2.1.0
3
+ Version: 2.1.0.3
4
4
  Summary: Fast candlestick chart using Python. Includes navigator, slider, navigation, and text information display functions
5
5
  Author-email: white-seolpyo <white-seolpyo@naver.com>
6
6
  License: MIT License
7
7
  Project-URL: Homepage, https://white.seolpyo.com/
8
- Project-URL: Documentation(English), https://white.seolpyo.com/entry/148/
8
+ Project-URL: Documentation(English), https://github.com/white-seolpyo/seolpyo-mplchart/tree/main
9
9
  Project-URL: Documentation(한글), https://white.seolpyo.com/entry/147/
10
10
  Project-URL: repository, https://github.com/white-seolpyo/seolpyo-mplchart
11
11
  Project-URL: Issues, https://github.com/white-seolpyo/seolpyo-mplchart/issues
@@ -32,7 +32,7 @@ Ethereum: 0x1c5fb8a5e0b1153cd4116c91736bd16fabf83520
32
32
 
33
33
 
34
34
  # Document
35
- [English Document](https://github.com/white-seolpyo/seolpyo-mplchart/tree/maind)
35
+ [English Document](https://github.com/white-seolpyo/seolpyo-mplchart/tree/main)
36
36
 
37
37
  [한글 설명서](https://white.seolpyo.com/entry/147/?from=pypi)
38
38
 
@@ -45,8 +45,8 @@ seolpyo_mplchart/_config/cursor.py
45
45
  seolpyo_mplchart/_config/figure.py
46
46
  seolpyo_mplchart/_config/format.py
47
47
  seolpyo_mplchart/_config/ma.py
48
+ seolpyo_mplchart/_config/nums.py
48
49
  seolpyo_mplchart/_config/unit.py
49
- seolpyo_mplchart/_config/utils.py
50
50
  seolpyo_mplchart/_config/volume.py
51
51
  seolpyo_mplchart/_config/slider/__init__.py
52
52
  seolpyo_mplchart/_config/slider/config.py
@@ -1,67 +0,0 @@
1
-
2
-
3
- def convert_num(num):
4
- if isinstance(num, float) and num % 1:
5
- return num
6
- return int(num)
7
-
8
-
9
- def float_to_str(num: float, *, digit=0, plus=False):
10
- if 0 < digit:
11
- num.__round__(digit)
12
- text = f'{num:+,.{digit}f}' if plus else f'{num:,.{digit}f}'
13
- else:
14
- num = round(num, digit).__int__()
15
- text = f'{num:+,}' if plus else f'{num:,}'
16
- return text
17
-
18
-
19
- unit_ko = {
20
- '경': 10_000_000_000_000_000,
21
- '조': 1_000_000_000_000,
22
- '억': 100_000_000,
23
- '만': 10_000,
24
- }
25
- def convert_unit(value, *, digit=0, word='원', unit_data: dict[str, int]=None):
26
- if not unit_data:
27
- unit_data = unit_ko
28
- # print('ko')
29
- # print(f'{value=:,}')
30
- v = abs(value)
31
- for unit, n in unit_data.items():
32
- if n <= v:
33
- # print(f'{n=:,}')
34
- # print(f'{unit=}')
35
- num = value / n
36
- if word.startswith(' '):
37
- return f'{float_to_str(num, digit=digit)}{unit}{word}'
38
- return f'{float_to_str(num, digit=digit)}{unit} {word}'
39
-
40
- if not value % 1:
41
- value = int(value)
42
- text = f'{float_to_str(value, digit=digit)}{word}'
43
- # print(f'{text=}')
44
- return text
45
-
46
- unit_en = {
47
- 'Qd': 1_000_000_000_000_000,
48
- 'T': 1_000_000_000_000,
49
- 'B': 1_000_000_000,
50
- 'M': 1_000_000,
51
- 'K': 1_000,
52
- }
53
- def convert_unit_en(value, *, digit=0, word='$', unit_data: dict[str, int]=None):
54
- if not unit_data:
55
- unit_data = unit_en
56
- # print('en')
57
- # print(f'{value=:,}')
58
- return convert_unit(value, digit=digit, word=word, unit_data=unit_data)
59
-
60
-
61
- if __name__ == '__main__':
62
- a = 456.123
63
- print(float_to_str(a))
64
- print(float_to_str(a, 2))
65
- print(float_to_str(a, 6))
66
-
67
-