flet-charts 0.2.0.dev18__tar.gz → 0.2.0.dev40__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 flet-charts might be problematic. Click here for more details.
- {flet_charts-0.2.0.dev18/src/flet_charts.egg-info → flet_charts-0.2.0.dev40}/PKG-INFO +1 -1
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/pyproject.toml +36 -16
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/__init__.py +39 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/bar_chart.py +46 -27
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/bar_chart_rod.py +34 -10
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/bar_chart_rod_stack_item.py +1 -3
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/line_chart.py +62 -24
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/line_chart_data.py +10 -20
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/line_chart_data_point.py +32 -7
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/matplotlib_chart.py +4 -3
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/pie_chart.py +3 -9
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/pie_chart_section.py +11 -14
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/plotly_chart.py +4 -3
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/scatter_chart.py +45 -17
- flet_charts-0.2.0.dev40/src/flet_charts/scatter_chart_spot.py +131 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/types.py +139 -21
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40/src/flet_charts.egg-info}/PKG-INFO +1 -1
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/utils/bar_chart.dart +3 -2
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/utils/line_chart.dart +3 -2
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/utils/scatter_chart.dart +3 -2
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/pubspec.lock +7 -7
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/pubspec.yaml +1 -1
- flet_charts-0.2.0.dev18/src/flet_charts/scatter_chart_spot.py +0 -102
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/LICENSE +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/README.md +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/setup.cfg +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/bar_chart_group.py +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/chart_axis.py +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts.egg-info/SOURCES.txt +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts.egg-info/dependency_links.txt +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts.egg-info/requires.txt +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts.egg-info/top_level.txt +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/CHANGELOG.md +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/LICENSE +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/README.md +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/analysis_options.yaml +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/flet_charts.dart +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/bar_chart.dart +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/extension.dart +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/line_chart.dart +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/pie_chart.dart +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/scatter_chart.dart +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/utils/charts.dart +0 -0
- {flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flutter/flet_charts/lib/src/utils/pie_chart.dart +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "flet-charts"
|
|
3
|
-
version = "0.2.0.
|
|
3
|
+
version = "0.2.0.dev40"
|
|
4
4
|
description = "A Flet extension for creating interactive charts and graphs."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [{ name = "Flet contributors", email = "hello@flet.dev" }]
|
|
@@ -25,24 +25,43 @@ plotly = ["plotly>=6.0.1"]
|
|
|
25
25
|
matplotlib = ["matplotlib>=3.10.1"]
|
|
26
26
|
|
|
27
27
|
[dependency-groups]
|
|
28
|
+
test = [
|
|
29
|
+
"pytest >=7.2.0",
|
|
30
|
+
]
|
|
31
|
+
lint = [
|
|
32
|
+
"ruff >=0.11.7",
|
|
33
|
+
]
|
|
28
34
|
dev = [
|
|
29
|
-
"pre-commit>=4.2.0",
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
"pre-commit >=4.2.0",
|
|
36
|
+
{ include-group = 'lint' },
|
|
37
|
+
{ include-group = 'test' },
|
|
38
|
+
]
|
|
39
|
+
docs-coverage = [
|
|
40
|
+
"docstr-coverage >=2.3.2",
|
|
33
41
|
]
|
|
34
42
|
docs = [
|
|
35
|
-
"mkdocs",
|
|
36
|
-
"mkdocs-material",
|
|
37
|
-
"mkdocstrings
|
|
38
|
-
"mkdocstrings-python-xref",
|
|
39
|
-
"mike",
|
|
40
|
-
"markdown>=3.6",
|
|
41
|
-
"pymdown-extensions",
|
|
42
|
-
"mkdocs-
|
|
43
|
-
"mkdocs-
|
|
44
|
-
"
|
|
45
|
-
"
|
|
43
|
+
"mkdocs >=1.6.1",
|
|
44
|
+
"mkdocs-material >=9.6.15",
|
|
45
|
+
"mkdocstrings-python >=1.16.12",
|
|
46
|
+
"mkdocstrings-python-xref >=1.16.3",
|
|
47
|
+
"mike >=2.1.3",
|
|
48
|
+
"markdown >=3.6",
|
|
49
|
+
"pymdown-extensions >=10.16",
|
|
50
|
+
"mkdocs-exclude >=1.0.2",
|
|
51
|
+
"mkdocs-glightbox >=0.4.0",
|
|
52
|
+
"mkdocs-open-in-new-tab >=1.0.8",
|
|
53
|
+
"mkdocs-section-index >=0.3.10",
|
|
54
|
+
"griffe-modernized-annotations >=1.0.8",
|
|
55
|
+
"griffe-warnings-deprecated >=1.1.0",
|
|
56
|
+
"pygments >=2.16",
|
|
57
|
+
"markdown-exec[ansi] >=1.11.0",
|
|
58
|
+
"pydocstyle >=6.3.0",
|
|
59
|
+
"linkcheckmd >=1.4.0",
|
|
60
|
+
{ include-group = 'docs-coverage' },
|
|
61
|
+
]
|
|
62
|
+
all = [
|
|
63
|
+
{ include-group = 'dev' },
|
|
64
|
+
{ include-group = 'docs' },
|
|
46
65
|
]
|
|
47
66
|
|
|
48
67
|
[tool.ruff]
|
|
@@ -67,6 +86,7 @@ select = [
|
|
|
67
86
|
"I"
|
|
68
87
|
]
|
|
69
88
|
preview = true
|
|
89
|
+
pydocstyle = { convention = 'google' }
|
|
70
90
|
|
|
71
91
|
[tool.ruff.format]
|
|
72
92
|
quote-style = "double"
|
|
@@ -33,3 +33,42 @@ from .types import (
|
|
|
33
33
|
ChartPointShape,
|
|
34
34
|
ChartSquarePoint,
|
|
35
35
|
)
|
|
36
|
+
|
|
37
|
+
__all__ = [
|
|
38
|
+
"BarChart",
|
|
39
|
+
"BarChartEvent",
|
|
40
|
+
"BarChartGroup",
|
|
41
|
+
"BarChartRod",
|
|
42
|
+
"BarChartRodStackItem",
|
|
43
|
+
"BarChartRodTooltip",
|
|
44
|
+
"BarChartTooltip",
|
|
45
|
+
"BarChartTooltipDirection",
|
|
46
|
+
"ChartAxis",
|
|
47
|
+
"ChartAxisLabel",
|
|
48
|
+
"ChartCirclePoint",
|
|
49
|
+
"ChartCrossPoint",
|
|
50
|
+
"ChartDataPointTooltip",
|
|
51
|
+
"ChartEventType",
|
|
52
|
+
"ChartGridLines",
|
|
53
|
+
"ChartHorizontalAlignment",
|
|
54
|
+
"ChartPointLine",
|
|
55
|
+
"ChartPointShape",
|
|
56
|
+
"ChartSquarePoint",
|
|
57
|
+
"LineChart",
|
|
58
|
+
"LineChartData",
|
|
59
|
+
"LineChartDataPoint",
|
|
60
|
+
"LineChartDataPointTooltip",
|
|
61
|
+
"LineChartEvent",
|
|
62
|
+
"LineChartEventSpot",
|
|
63
|
+
"LineChartTooltip",
|
|
64
|
+
"MatplotlibChart",
|
|
65
|
+
"PieChart",
|
|
66
|
+
"PieChartEvent",
|
|
67
|
+
"PieChartSection",
|
|
68
|
+
"PlotlyChart",
|
|
69
|
+
"ScatterChart",
|
|
70
|
+
"ScatterChartEvent",
|
|
71
|
+
"ScatterChartSpot",
|
|
72
|
+
"ScatterChartSpotTooltip",
|
|
73
|
+
"ScatterChartTooltip",
|
|
74
|
+
]
|
|
@@ -11,8 +11,8 @@ from .types import ChartEventType, ChartGridLines
|
|
|
11
11
|
__all__ = [
|
|
12
12
|
"BarChart",
|
|
13
13
|
"BarChartEvent",
|
|
14
|
-
"BarChartTooltipDirection",
|
|
15
14
|
"BarChartTooltip",
|
|
15
|
+
"BarChartTooltipDirection",
|
|
16
16
|
]
|
|
17
17
|
|
|
18
18
|
|
|
@@ -35,7 +35,7 @@ class BarChartTooltip:
|
|
|
35
35
|
|
|
36
36
|
bgcolor: ft.ColorValue = ft.Colors.SECONDARY
|
|
37
37
|
"""
|
|
38
|
-
Background
|
|
38
|
+
Background color of tooltips.
|
|
39
39
|
"""
|
|
40
40
|
|
|
41
41
|
border_radius: Optional[ft.BorderRadiusValue] = None
|
|
@@ -76,15 +76,11 @@ class BarChartTooltip:
|
|
|
76
76
|
fit_inside_horizontally: Optional[bool] = None
|
|
77
77
|
"""
|
|
78
78
|
Forces the tooltip to shift horizontally inside the chart, if overflow happens.
|
|
79
|
-
|
|
80
|
-
Value is of type `bool`.
|
|
81
79
|
"""
|
|
82
80
|
|
|
83
81
|
fit_inside_vertically: Optional[bool] = None
|
|
84
82
|
"""
|
|
85
83
|
Forces the tooltip to shift vertically inside the chart, if overflow happens.
|
|
86
|
-
|
|
87
|
-
Value is of type `bool`.
|
|
88
84
|
"""
|
|
89
85
|
|
|
90
86
|
direction: Optional[BarChartTooltipDirection] = None
|
|
@@ -92,6 +88,48 @@ class BarChartTooltip:
|
|
|
92
88
|
Controls showing tooltip on top or bottom, default is auto.
|
|
93
89
|
"""
|
|
94
90
|
|
|
91
|
+
def copy_with(
|
|
92
|
+
self,
|
|
93
|
+
*,
|
|
94
|
+
bgcolor: Optional[ft.ColorValue] = None,
|
|
95
|
+
border_radius: Optional[ft.BorderRadiusValue] = None,
|
|
96
|
+
margin: Optional[ft.Number] = None,
|
|
97
|
+
padding: Optional[ft.PaddingValue] = None,
|
|
98
|
+
max_width: Optional[ft.Number] = None,
|
|
99
|
+
rotate_angle: Optional[ft.Number] = None,
|
|
100
|
+
horizontal_offset: Optional[ft.Number] = None,
|
|
101
|
+
border_side: Optional[ft.BorderSide] = None,
|
|
102
|
+
fit_inside_horizontally: Optional[bool] = None,
|
|
103
|
+
fit_inside_vertically: Optional[bool] = None,
|
|
104
|
+
direction: Optional[BarChartTooltipDirection] = None,
|
|
105
|
+
) -> "BarChartTooltip":
|
|
106
|
+
"""
|
|
107
|
+
Returns a copy of this object with the specified properties overridden.
|
|
108
|
+
"""
|
|
109
|
+
return BarChartTooltip(
|
|
110
|
+
bgcolor=bgcolor if bgcolor is not None else self.bgcolor,
|
|
111
|
+
border_radius=border_radius
|
|
112
|
+
if border_radius is not None
|
|
113
|
+
else self.border_radius,
|
|
114
|
+
margin=margin if margin is not None else self.margin,
|
|
115
|
+
padding=padding if padding is not None else self.padding,
|
|
116
|
+
max_width=max_width if max_width is not None else self.max_width,
|
|
117
|
+
rotate_angle=rotate_angle
|
|
118
|
+
if rotate_angle is not None
|
|
119
|
+
else self.rotate_angle,
|
|
120
|
+
horizontal_offset=horizontal_offset
|
|
121
|
+
if horizontal_offset is not None
|
|
122
|
+
else self.horizontal_offset,
|
|
123
|
+
border_side=border_side if border_side is not None else self.border_side,
|
|
124
|
+
fit_inside_horizontally=fit_inside_horizontally
|
|
125
|
+
if fit_inside_horizontally is not None
|
|
126
|
+
else self.fit_inside_horizontally,
|
|
127
|
+
fit_inside_vertically=fit_inside_vertically
|
|
128
|
+
if fit_inside_vertically is not None
|
|
129
|
+
else self.fit_inside_vertically,
|
|
130
|
+
direction=direction if direction is not None else self.direction,
|
|
131
|
+
)
|
|
132
|
+
|
|
95
133
|
|
|
96
134
|
@dataclass
|
|
97
135
|
class BarChartEvent(ft.Event["BarChart"]):
|
|
@@ -141,9 +179,6 @@ class BarChart(ft.ConstrainedControl):
|
|
|
141
179
|
)
|
|
142
180
|
"""
|
|
143
181
|
Controls chart implicit animation.
|
|
144
|
-
|
|
145
|
-
Value is of [`AnimationValue`](https://flet.dev/docs/reference/types/animationvalue)
|
|
146
|
-
type.
|
|
147
182
|
"""
|
|
148
183
|
|
|
149
184
|
interactive: bool = True
|
|
@@ -153,56 +188,42 @@ class BarChart(ft.ConstrainedControl):
|
|
|
153
188
|
|
|
154
189
|
bgcolor: Optional[ft.ColorValue] = None
|
|
155
190
|
"""
|
|
156
|
-
Background
|
|
191
|
+
Background color of the chart.
|
|
157
192
|
"""
|
|
158
193
|
|
|
159
194
|
border: Optional[ft.Border] = None
|
|
160
195
|
"""
|
|
161
196
|
The border around the chart.
|
|
162
|
-
|
|
163
|
-
Value is of type [`Border`](https://flet.dev/docs/reference/types/border).
|
|
164
197
|
"""
|
|
165
198
|
|
|
166
199
|
horizontal_grid_lines: Optional[ChartGridLines] = None
|
|
167
200
|
"""
|
|
168
201
|
Controls drawing of chart's horizontal lines.
|
|
169
|
-
|
|
170
|
-
Value is of type [`ChartGridLines`][(p).].
|
|
171
202
|
"""
|
|
172
203
|
|
|
173
204
|
vertical_grid_lines: Optional[ChartGridLines] = None
|
|
174
205
|
"""
|
|
175
206
|
Controls drawing of chart's vertical lines.
|
|
176
|
-
|
|
177
|
-
Value is of type [`ChartGridLines`][(p).].
|
|
178
207
|
"""
|
|
179
208
|
|
|
180
209
|
left_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=44))
|
|
181
210
|
"""
|
|
182
211
|
The appearance of the left axis, its title and labels.
|
|
183
|
-
|
|
184
|
-
Value is of type [`ChartAxis`][(p).].
|
|
185
212
|
"""
|
|
186
213
|
|
|
187
214
|
top_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=30))
|
|
188
215
|
"""
|
|
189
216
|
The appearance of the top axis, its title and labels.
|
|
190
|
-
|
|
191
|
-
Value is of type [`ChartAxis`][(p).].
|
|
192
217
|
"""
|
|
193
218
|
|
|
194
219
|
right_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=44))
|
|
195
220
|
"""
|
|
196
221
|
The appearance of the right axis, its title and labels.
|
|
197
|
-
|
|
198
|
-
Value is of type [`ChartAxis`][(p).].
|
|
199
222
|
"""
|
|
200
223
|
|
|
201
224
|
bottom_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=30))
|
|
202
225
|
"""
|
|
203
226
|
The appearance of the bottom axis, its title and labels.
|
|
204
|
-
|
|
205
|
-
Value is of type [`ChartAxis`][(p).].
|
|
206
227
|
"""
|
|
207
228
|
|
|
208
229
|
baseline_y: Optional[ft.Number] = None
|
|
@@ -225,11 +246,9 @@ class BarChart(ft.ConstrainedControl):
|
|
|
225
246
|
The tooltip configuration for the chart.
|
|
226
247
|
"""
|
|
227
248
|
|
|
228
|
-
on_event: ft.
|
|
249
|
+
on_event: Optional[ft.EventHandler[BarChartEvent]] = None
|
|
229
250
|
"""
|
|
230
251
|
Fires when a bar is hovered or clicked.
|
|
231
|
-
|
|
232
|
-
Event handler receives an instance of [`BarChartEvent`][(p).].
|
|
233
252
|
"""
|
|
234
253
|
|
|
235
254
|
def __post_init__(self, ref: Optional[ft.Ref[Any]]):
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Optional, Union
|
|
3
3
|
|
|
4
4
|
import flet as ft
|
|
5
5
|
|
|
@@ -22,6 +22,26 @@ class BarChartRodTooltip(ChartDataPointTooltip):
|
|
|
22
22
|
When `None`, defaults to [`BarChartRod.to_y`][(p).].
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
|
+
def copy_with(
|
|
26
|
+
self,
|
|
27
|
+
*,
|
|
28
|
+
text: Optional[str] = None,
|
|
29
|
+
text_style: Optional[ft.TextStyle] = None,
|
|
30
|
+
text_align: Optional[ft.TextAlign] = None,
|
|
31
|
+
text_spans: Optional[list[ft.TextSpan]] = None,
|
|
32
|
+
) -> "BarChartRodTooltip":
|
|
33
|
+
"""
|
|
34
|
+
Returns a copy of this object with the specified properties overridden.
|
|
35
|
+
"""
|
|
36
|
+
return BarChartRodTooltip(
|
|
37
|
+
text=text if text is not None else self.text,
|
|
38
|
+
text_style=text_style if text_style is not None else self.text_style,
|
|
39
|
+
text_align=text_align if text_align is not None else self.text_align,
|
|
40
|
+
text_spans=text_spans.copy()
|
|
41
|
+
if text_spans is not None
|
|
42
|
+
else (self.text_spans.copy() if self.text_spans is not None else None),
|
|
43
|
+
)
|
|
44
|
+
|
|
25
45
|
|
|
26
46
|
@ft.control("BarChartRod")
|
|
27
47
|
class BarChartRod(ft.BaseControl):
|
|
@@ -49,14 +69,12 @@ class BarChartRod(ft.BaseControl):
|
|
|
49
69
|
|
|
50
70
|
color: Optional[ft.ColorValue] = None
|
|
51
71
|
"""
|
|
52
|
-
Rod
|
|
72
|
+
Rod color.
|
|
53
73
|
"""
|
|
54
74
|
|
|
55
75
|
gradient: Optional[ft.Gradient] = None
|
|
56
76
|
"""
|
|
57
77
|
Gradient to draw rod's background.
|
|
58
|
-
|
|
59
|
-
Value is of type [`Gradient`](https://flet.dev/docs/reference/types/gradient).
|
|
60
78
|
"""
|
|
61
79
|
|
|
62
80
|
border_radius: Optional[ft.BorderRadiusValue] = None
|
|
@@ -67,9 +85,6 @@ class BarChartRod(ft.BaseControl):
|
|
|
67
85
|
border_side: Optional[ft.BorderSide] = None
|
|
68
86
|
"""
|
|
69
87
|
Border to draw around rod.
|
|
70
|
-
|
|
71
|
-
Value is of type [`BorderSide`](https://flet.dev/docs/reference/types/borderside)
|
|
72
|
-
class.
|
|
73
88
|
"""
|
|
74
89
|
|
|
75
90
|
bg_from_y: Optional[ft.Number] = None
|
|
@@ -84,7 +99,7 @@ class BarChartRod(ft.BaseControl):
|
|
|
84
99
|
|
|
85
100
|
bgcolor: Optional[ft.ColorValue] = None
|
|
86
101
|
"""
|
|
87
|
-
An optional
|
|
102
|
+
An optional color of a background behind
|
|
88
103
|
this rod.
|
|
89
104
|
"""
|
|
90
105
|
|
|
@@ -96,10 +111,12 @@ class BarChartRod(ft.BaseControl):
|
|
|
96
111
|
selected: bool = False
|
|
97
112
|
"""
|
|
98
113
|
If set to `True` a tooltip is always shown on top of the bar when
|
|
99
|
-
`BarChart.interactive` is set to `False`.
|
|
114
|
+
[`BarChart.interactive`][(p).] is set to `False`.
|
|
100
115
|
"""
|
|
101
116
|
|
|
102
|
-
tooltip: BarChartRodTooltip = field(
|
|
117
|
+
tooltip: Union[BarChartRodTooltip, str] = field(
|
|
118
|
+
default_factory=lambda: BarChartRodTooltip()
|
|
119
|
+
)
|
|
103
120
|
"""
|
|
104
121
|
The rod's tooltip configuration for this rod.
|
|
105
122
|
"""
|
|
@@ -109,3 +126,10 @@ class BarChartRod(ft.BaseControl):
|
|
|
109
126
|
Whether a tooltip should be shown on top of hovered bar.
|
|
110
127
|
"""
|
|
111
128
|
|
|
129
|
+
def before_update(self):
|
|
130
|
+
super().before_update()
|
|
131
|
+
self._internals["tooltip"] = (
|
|
132
|
+
BarChartRodTooltip(text=self.tooltip)
|
|
133
|
+
if isinstance(self.tooltip, str)
|
|
134
|
+
else self.tooltip
|
|
135
|
+
)
|
{flet_charts-0.2.0.dev18 → flet_charts-0.2.0.dev40}/src/flet_charts/bar_chart_rod_stack_item.py
RENAMED
|
@@ -20,12 +20,10 @@ class BarChartRodStackItem(ft.BaseControl):
|
|
|
20
20
|
|
|
21
21
|
color: Optional[ft.ColorValue] = None
|
|
22
22
|
"""
|
|
23
|
-
The
|
|
23
|
+
The color of this item.
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
26
|
border_side: ft.BorderSide = field(default_factory=lambda: ft.BorderSide.none())
|
|
27
27
|
"""
|
|
28
28
|
A border around this item.
|
|
29
|
-
|
|
30
|
-
Value is of type [`BorderSide`](https://flet.dev/docs/reference/types/borderside).
|
|
31
29
|
"""
|
|
@@ -27,9 +27,23 @@ class LineChartEventSpot:
|
|
|
27
27
|
The line's point index or `-1` if no point was hovered.
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
+
def copy_with(
|
|
31
|
+
self,
|
|
32
|
+
*,
|
|
33
|
+
bar_index: Optional[int] = None,
|
|
34
|
+
spot_index: Optional[int] = None,
|
|
35
|
+
) -> "LineChartEventSpot":
|
|
36
|
+
"""
|
|
37
|
+
Returns a copy of this object with the specified properties overridden.
|
|
38
|
+
"""
|
|
39
|
+
return LineChartEventSpot(
|
|
40
|
+
bar_index=bar_index if bar_index is not None else self.bar_index,
|
|
41
|
+
spot_index=spot_index if spot_index is not None else self.spot_index,
|
|
42
|
+
)
|
|
43
|
+
|
|
30
44
|
|
|
31
45
|
@dataclass
|
|
32
|
-
class LineChartEvent(ft.Event[
|
|
46
|
+
class LineChartEvent(ft.Event["LineChart"]):
|
|
33
47
|
type: ChartEventType
|
|
34
48
|
"""
|
|
35
49
|
The type of event that occured.
|
|
@@ -47,7 +61,7 @@ class LineChartTooltip:
|
|
|
47
61
|
|
|
48
62
|
bgcolor: ft.ColorValue = "#FF607D8B"
|
|
49
63
|
"""
|
|
50
|
-
Background
|
|
64
|
+
Background color of tooltip.
|
|
51
65
|
"""
|
|
52
66
|
|
|
53
67
|
border_radius: Optional[ft.BorderRadiusValue] = None
|
|
@@ -65,8 +79,6 @@ class LineChartTooltip:
|
|
|
65
79
|
)
|
|
66
80
|
"""
|
|
67
81
|
Applies a padding for showing contents inside the tooltip.
|
|
68
|
-
|
|
69
|
-
Value is of type [`PaddingValue`](https://flet.dev/docs/reference/types/aliases#paddingvalue).
|
|
70
82
|
"""
|
|
71
83
|
|
|
72
84
|
max_width: ft.Number = 120
|
|
@@ -104,6 +116,50 @@ class LineChartTooltip:
|
|
|
104
116
|
Whether to force the tooltip container to top of the line.
|
|
105
117
|
"""
|
|
106
118
|
|
|
119
|
+
def copy_with(
|
|
120
|
+
self,
|
|
121
|
+
*,
|
|
122
|
+
bgcolor: Optional[ft.ColorValue] = None,
|
|
123
|
+
border_radius: Optional[ft.BorderRadiusValue] = None,
|
|
124
|
+
margin: Optional[ft.Number] = None,
|
|
125
|
+
padding: Optional[ft.PaddingValue] = None,
|
|
126
|
+
max_width: Optional[ft.Number] = None,
|
|
127
|
+
rotate_angle: Optional[ft.Number] = None,
|
|
128
|
+
horizontal_offset: Optional[ft.Number] = None,
|
|
129
|
+
border_side: Optional[ft.BorderSide] = None,
|
|
130
|
+
fit_inside_horizontally: Optional[bool] = None,
|
|
131
|
+
fit_inside_vertically: Optional[bool] = None,
|
|
132
|
+
show_on_top_of_chart_box_area: Optional[bool] = None,
|
|
133
|
+
) -> "LineChartTooltip":
|
|
134
|
+
"""
|
|
135
|
+
Returns a copy of this object with the specified properties overridden.
|
|
136
|
+
"""
|
|
137
|
+
return LineChartTooltip(
|
|
138
|
+
bgcolor=bgcolor if bgcolor is not None else self.bgcolor,
|
|
139
|
+
border_radius=border_radius
|
|
140
|
+
if border_radius is not None
|
|
141
|
+
else self.border_radius,
|
|
142
|
+
margin=margin if margin is not None else self.margin,
|
|
143
|
+
padding=padding if padding is not None else self.padding,
|
|
144
|
+
max_width=max_width if max_width is not None else self.max_width,
|
|
145
|
+
rotate_angle=rotate_angle
|
|
146
|
+
if rotate_angle is not None
|
|
147
|
+
else self.rotate_angle,
|
|
148
|
+
horizontal_offset=horizontal_offset
|
|
149
|
+
if horizontal_offset is not None
|
|
150
|
+
else self.horizontal_offset,
|
|
151
|
+
border_side=border_side if border_side is not None else self.border_side,
|
|
152
|
+
fit_inside_horizontally=fit_inside_horizontally
|
|
153
|
+
if fit_inside_horizontally is not None
|
|
154
|
+
else self.fit_inside_horizontally,
|
|
155
|
+
fit_inside_vertically=fit_inside_vertically
|
|
156
|
+
if fit_inside_vertically is not None
|
|
157
|
+
else self.fit_inside_vertically,
|
|
158
|
+
show_on_top_of_chart_box_area=show_on_top_of_chart_box_area
|
|
159
|
+
if show_on_top_of_chart_box_area is not None
|
|
160
|
+
else self.show_on_top_of_chart_box_area,
|
|
161
|
+
)
|
|
162
|
+
|
|
107
163
|
|
|
108
164
|
@ft.control("LineChart")
|
|
109
165
|
class LineChart(ft.ConstrainedControl):
|
|
@@ -126,8 +182,6 @@ class LineChart(ft.ConstrainedControl):
|
|
|
126
182
|
)
|
|
127
183
|
"""
|
|
128
184
|
Controls chart implicit animation.
|
|
129
|
-
|
|
130
|
-
Value is of type [`AnimationValue`](https://flet.dev/docs/reference/types/animationvalue).
|
|
131
185
|
"""
|
|
132
186
|
|
|
133
187
|
interactive: bool = True
|
|
@@ -151,56 +205,42 @@ class LineChart(ft.ConstrainedControl):
|
|
|
151
205
|
|
|
152
206
|
bgcolor: Optional[ft.ColorValue] = None
|
|
153
207
|
"""
|
|
154
|
-
Background
|
|
208
|
+
Background color of the chart.
|
|
155
209
|
"""
|
|
156
210
|
|
|
157
211
|
border: Optional[ft.Border] = None
|
|
158
212
|
"""
|
|
159
213
|
The border around the chart.
|
|
160
|
-
|
|
161
|
-
Value is of type [`Border`](https://flet.dev/docs/reference/types/border).
|
|
162
214
|
"""
|
|
163
215
|
|
|
164
216
|
horizontal_grid_lines: Optional[ChartGridLines] = None
|
|
165
217
|
"""
|
|
166
218
|
Controls drawing of chart's horizontal lines.
|
|
167
|
-
|
|
168
|
-
Value is of type [`ChartGridLines`][(p).].
|
|
169
219
|
"""
|
|
170
220
|
|
|
171
221
|
vertical_grid_lines: Optional[ChartGridLines] = None
|
|
172
222
|
"""
|
|
173
223
|
Controls drawing of chart's vertical lines.
|
|
174
|
-
|
|
175
|
-
Value is of type [`ChartGridLines`][(p).].
|
|
176
224
|
"""
|
|
177
225
|
|
|
178
226
|
left_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=44))
|
|
179
227
|
"""
|
|
180
228
|
Defines the appearance of the left axis, its title and labels.
|
|
181
|
-
|
|
182
|
-
Value is of type [`ChartAxis`][(p).].
|
|
183
229
|
"""
|
|
184
230
|
|
|
185
231
|
top_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=30))
|
|
186
232
|
"""
|
|
187
233
|
Defines the appearance of the top axis, its title and labels.
|
|
188
|
-
|
|
189
|
-
Value is of type [`ChartAxis`][(p).].
|
|
190
234
|
"""
|
|
191
235
|
|
|
192
236
|
right_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=44))
|
|
193
237
|
"""
|
|
194
238
|
Defines the appearance of the right axis, its title and labels.
|
|
195
|
-
|
|
196
|
-
Value is of type [`ChartAxis`][(p).].
|
|
197
239
|
"""
|
|
198
240
|
|
|
199
241
|
bottom_axis: ChartAxis = field(default_factory=lambda: ChartAxis(label_size=30))
|
|
200
242
|
"""
|
|
201
243
|
Defines the appearance of the bottom axis, its title and labels.
|
|
202
|
-
|
|
203
|
-
Value is of type [`ChartAxis`][(p).].
|
|
204
244
|
"""
|
|
205
245
|
|
|
206
246
|
baseline_x: Optional[ft.Number] = None
|
|
@@ -238,11 +278,9 @@ class LineChart(ft.ConstrainedControl):
|
|
|
238
278
|
The tooltip configuration for this chart.
|
|
239
279
|
"""
|
|
240
280
|
|
|
241
|
-
on_event: ft.
|
|
281
|
+
on_event: Optional[ft.EventHandler[LineChartEvent]] = None
|
|
242
282
|
"""
|
|
243
283
|
Fires when a chart line is hovered or clicked.
|
|
244
|
-
|
|
245
|
-
Value is of type [`LineChartEvent`][(p).].
|
|
246
284
|
"""
|
|
247
285
|
|
|
248
286
|
def __post_init__(self, ref: Optional[ft.Ref[Any]]):
|
|
@@ -24,14 +24,12 @@ class LineChartData(ft.BaseControl):
|
|
|
24
24
|
|
|
25
25
|
color: ft.ColorValue = ft.Colors.CYAN
|
|
26
26
|
"""
|
|
27
|
-
A
|
|
27
|
+
A color of chart line.
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
gradient: Optional[ft.Gradient] = None
|
|
31
31
|
"""
|
|
32
32
|
Gradient to draw line's background.
|
|
33
|
-
|
|
34
|
-
Value is of type [`Gradient`](https://flet.dev/docs/reference/types/gradient).
|
|
35
33
|
"""
|
|
36
34
|
|
|
37
35
|
stroke_width: ft.Number = 2.0
|
|
@@ -62,17 +60,17 @@ class LineChartData(ft.BaseControl):
|
|
|
62
60
|
drawn.
|
|
63
61
|
"""
|
|
64
62
|
|
|
65
|
-
shadow: ft.BoxShadow = field(
|
|
63
|
+
shadow: ft.BoxShadow = field(
|
|
64
|
+
default_factory=lambda: ft.BoxShadow(color=ft.Colors.TRANSPARENT)
|
|
65
|
+
)
|
|
66
66
|
"""
|
|
67
67
|
Shadow to drop by a chart line.
|
|
68
|
-
|
|
69
|
-
Value is of type [`BoxShadow`](https://flet.dev/docs/reference/types/boxshadow).
|
|
70
68
|
"""
|
|
71
69
|
|
|
72
70
|
above_line_bgcolor: Optional[ft.ColorValue] = None
|
|
73
71
|
"""
|
|
74
72
|
Fill the area above chart line with the specified
|
|
75
|
-
|
|
73
|
+
color.
|
|
76
74
|
"""
|
|
77
75
|
|
|
78
76
|
above_line_gradient: Optional[ft.Gradient] = None
|
|
@@ -88,14 +86,12 @@ class LineChartData(ft.BaseControl):
|
|
|
88
86
|
above_line: Optional[ChartPointLine] = None
|
|
89
87
|
"""
|
|
90
88
|
A vertical line drawn between a line point and the top edge of the chart.
|
|
91
|
-
|
|
92
|
-
Value is of type [`ChartPointLine`][(p).].
|
|
93
89
|
"""
|
|
94
90
|
|
|
95
91
|
below_line_bgcolor: Optional[ft.ColorValue] = None
|
|
96
92
|
"""
|
|
97
93
|
Fill the area below chart line with the specified
|
|
98
|
-
|
|
94
|
+
color.
|
|
99
95
|
"""
|
|
100
96
|
|
|
101
97
|
below_line_gradient: Optional[ft.Gradient] = None
|
|
@@ -111,30 +107,24 @@ class LineChartData(ft.BaseControl):
|
|
|
111
107
|
below_line: Optional[ChartPointLine] = None
|
|
112
108
|
"""
|
|
113
109
|
A vertical line drawn between a line point and the bottom edge of the chart.
|
|
114
|
-
|
|
115
|
-
Value is of type [`ChartPointLine`][(p).].
|
|
116
110
|
"""
|
|
117
111
|
|
|
118
112
|
selected_below_line: Union[None, bool, ChartPointLine] = None
|
|
119
113
|
"""
|
|
120
114
|
A vertical line drawn between selected line point and the bottom adge of the
|
|
121
|
-
chart.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
specify line style to draw.
|
|
115
|
+
chart.
|
|
116
|
+
|
|
117
|
+
Setting this property to `True` will draw a line with default style.
|
|
125
118
|
"""
|
|
126
119
|
|
|
127
120
|
point: Union[None, bool, ChartPointShape] = None
|
|
128
121
|
"""
|
|
129
122
|
Defines the appearance and shape of a line point (dot).
|
|
130
123
|
|
|
131
|
-
|
|
132
|
-
not draw a line point) or of type [`ChartPointShape`][(p).].
|
|
124
|
+
Setting this property to `True` will draw a point with default style.
|
|
133
125
|
"""
|
|
134
126
|
|
|
135
127
|
selected_point: Union[None, bool, ChartPointShape] = None
|
|
136
128
|
"""
|
|
137
129
|
Defines the appearance and shape of a selected line point.
|
|
138
|
-
|
|
139
|
-
Value is of type [`ChartPointShape`][(p).].
|
|
140
130
|
"""
|