-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Tabulator app #106
Add Tabulator app #106
Conversation
CodSpeed Performance ReportMerging #106 will not alter performanceComparing Summary
|
Looking great so far! Requested features:
|
This does work, but you need actually to add the annotation. This will likely be more intuitive if combined with pop ups. screenrecord-2024-06-10_10.00.21.mp4
Are you using Firefox? See the
I don't think that is currently supported in HoloNote. It is all or nothing. We save a snapshot of the full dataframe and use it this way. I will look into how easy it will be to implement this per annotation.
Same as above with respect to per row. The global save button can be easily added, though I'm unsure if it should be added to the app or part of an example.
Maybe this could work. However, I would like it to be a simple implementation, as I don't want another "DataFrame" to keep in sync with the global state. |
Sure, a pop-up that allows the user to select a category is a solution.
I'm using chrome Version 124.0.6367.208 |
new annotation for a new category doesn't persist display on plot when using tabulator app and groupby styling. Probably the visibility needs to be updated. Codeimport hvplot.pandas
import pandas as pd
from holonote.annotate import Annotator, SQLiteDB
from holonote.app import PanelWidgets
import panel as pn
from holonote.app.tabulator import AnnotatorTabulator
# Setup
speed_data = pd.read_parquet("/Users/droumis/src/holonote/examples/assets/example.parquet")
curve = speed_data.hvplot("TIME", "SPEED")
annotator = Annotator(
curve,
fields=["category"],
connector=SQLiteDB(table_name="styling"),
)
start_time = pd.date_range("2022-06-04", "2022-06-22", periods=5)
end_time = start_time + pd.Timedelta(days=2)
data = {
"start_time": start_time,
"end_time": end_time,
"category": ["A", "B", "A", "C", "B"],
}
annotator.define_annotations(pd.DataFrame(data), TIME=("start_time", "end_time"))
annotator.groupby = "category"
annotator_widgets = pn.Column(PanelWidgets(annotator), AnnotatorTabulator(annotator))
pn.Row(annotator_widgets, annotator * curve) Screen.Recording.2024-06-12.at.10.51.31.AM.mov |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #106 +/- ##
==========================================
+ Coverage 86.16% 86.33% +0.17%
==========================================
Files 24 26 +2
Lines 2595 2774 +179
==========================================
+ Hits 2236 2395 +159
- Misses 359 379 +20 ☔ View full report in Codecov by Sentry. |
I will merge this so we can get it into the next release. We can improve the functionality in other PRs. |
TODOS:
Delete rows from the tabulator
screenrecord-2024-05-13_19.13.06.mp4
Edit values from tabulator + sync of selection
screenrecord-2024-05-13_19.15.02.mp4
Code