markers pd series support
This commit is contained in:
@ -325,6 +325,40 @@ class SeriesCommon(Pane):
|
|||||||
def _update_markers(self):
|
def _update_markers(self):
|
||||||
self.run_script(f'{self.id}.series.setMarkers({json.dumps(list(self.markers.values()))})')
|
self.run_script(f'{self.id}.series.setMarkers({json.dumps(list(self.markers.values()))})')
|
||||||
|
|
||||||
|
def markers_set(self, markers_series: pd.Series,
|
||||||
|
position: MARKER_POSITION = 'below',
|
||||||
|
shape: MARKER_SHAPE = 'arrow_up',
|
||||||
|
color: str = '#2196F3',text: str = ''):
|
||||||
|
"""
|
||||||
|
Creates multiple markers from pd series.
|
||||||
|
:param markers: A pandas Series with DateTimeIndex and boolean values.
|
||||||
|
The index should be DateTimeIndex and values should be True/False.
|
||||||
|
:return: a list of marker ids.
|
||||||
|
|
||||||
|
It refreshes the markers, deleting the current.
|
||||||
|
"""
|
||||||
|
if not isinstance(markers_series, pd.Series):
|
||||||
|
#raise exception
|
||||||
|
raise TypeError('Markers must be a pd.Series')
|
||||||
|
series = self._series_datetime_format(markers_series, exclude_lowercase=self.name)
|
||||||
|
marker_ids = []
|
||||||
|
self.markers = {}
|
||||||
|
for timestamp, value in series.iteritems():
|
||||||
|
if value:
|
||||||
|
marker_id = self.win._id_gen.generate()
|
||||||
|
self.markers[marker_id] = {
|
||||||
|
"time": timestamp,
|
||||||
|
"position": marker_position(position), # Default position
|
||||||
|
"color": color, # Default color
|
||||||
|
"shape": marker_shape(shape), # Default shape
|
||||||
|
"text": text, # Default text
|
||||||
|
}
|
||||||
|
marker_ids.append(marker_id)
|
||||||
|
|
||||||
|
self._update_markers()
|
||||||
|
return marker_ids
|
||||||
|
|
||||||
|
|
||||||
def marker_list(self, markers: list):
|
def marker_list(self, markers: list):
|
||||||
"""
|
"""
|
||||||
Creates multiple markers.\n
|
Creates multiple markers.\n
|
||||||
|
|||||||
2
setup.py
2
setup.py
@ -5,7 +5,7 @@ with open('README.md', 'r', encoding='utf-8') as f:
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='lightweight_charts',
|
name='lightweight_charts',
|
||||||
version='2.0.7',
|
version='2.0.8',
|
||||||
packages=find_packages(),
|
packages=find_packages(),
|
||||||
python_requires='>=3.8',
|
python_requires='>=3.8',
|
||||||
install_requires=[
|
install_requires=[
|
||||||
|
|||||||
@ -8,8 +8,7 @@ handler.createToolBox();
|
|||||||
const data = generateCandleData();
|
const data = generateCandleData();
|
||||||
if (handler.series)
|
if (handler.series)
|
||||||
handler.series.setData(data);
|
handler.series.setData(data);
|
||||||
|
//tady testovat markery
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user