Comments (11)
Attempt to use the tool by double-clicking to set an initial vertex.
In bokeh 3.4 we had to replace double tap gesture with press gesture in edit tools and others, due to changes in UI gesture recognition. Press on the canvas to add the first vertex, then tap to added subsequent vertices and press again to finalize drawing.
from bokeh.
When i try the latest example poly_draw.html i'm not able to add new patches or multi-lines by press(single tap?). I get the same unexpected behaviour if i run the example locally.
$ bokeh info
Python version : 3.11.8 (main, Feb 12 2024, 14:50:05) [GCC 13.2.1 20230801]
IPython version : (not installed)
Tornado version : 6.4
Bokeh version : 3.4.1
BokehJS static path : /home/fredrik/Documents/git/bokeh/bokeh_server/myapp_one/.venv/lib/python3.11/site-packages/bokeh/server/static
node.js version : v21.7.3
npm version : 10.5.2
jupyter_bokeh version : (not installed)
Operating system : Linux-6.8.7-arch1-1-x86_64-with-glibc2.39
from bokeh.
@angelsen the first tap has to be a "long" press, I don't think this docs are clear on this point.
The UX is also presently lacking significantly in that there is no indication that the tool has been activated after the long press, or even after the second tap. Nothing shows up at all until a third vertex is dropped, which makes it very hard to judge what the tool is doing. cc @philippjfr
from bokeh.
I'd have to look at this again in more detail and am away from my computer at least until Tuesday but iirc @mattpap made some significant changes to the UX of the draw/edit tools that may not have been documented.
from bokeh.
Regardless of the documentation, the current UX is fairly impossible to navigate out of the box. There are no visual cues that anything at all is happening at all, until after a long press and two taps happen. It's very easy to imagine why users thinks it is just not working.
from bokeh.
Yes, it's pretty clear this needs another in-depth look. I'm out of office until tomorrow, in the meantime @mattpap could you summarize what was changed here an why.
from bokeh.
The only recent and intentional change to edit/draw tools was replacement of double tap gesture with press tap. It was documented, but perhaps it wasn't advertised sufficiently. However, I myself have a problem with understanding whether the relevant tools actually work or not, at least without consulting documentation and source code. We previously discussed the possibility of redesigning those tools, but nothing came to fruition yet.
from bokeh.
I believe it would be beneficial for users if the documentation included a dedicated section explaining the different gesture interactions required for tools in Bokeh. If such documentation already exists, it would be helpful to have it linked directly within the sections where these tools are described or discussed.
from bokeh.
@angelsen can you be more specific with your suggestion, e.g. what exact pages you have in mind? Currently there is an entire user guide chapter dedicated to tools:
https://docs.bokeh.org/en/latest/docs/user_guide/interaction/tools.html
with a subsection for edit tools, where all the individual edit tools have their own subsections such as
https://docs.bokeh.org/en/latest/docs/user_guide/interaction/tools.html#boxedittool
each with descriptions like this for their use:
Add box
Hold shift, then click and drag anywhere on the plot or press tap once to start drawing. Move the mouse and press tap again to finish drawing.Move box
Click and drag an existing box. The box will be dropped once you let go of the mouse button.Delete box
Tap a box to select it, then press the BACKSPACE key while the mouse is within the plot area.
To Move or Delete multiple boxes at once:Move selection
Select box(es) with SHIFT+tap (or another selection tool) then drag anywhere on the plot. Selecting and then dragging on a specific box will move both.Delete selection
Select box(es) with SHIFT+tap (or another selection tool) then press BACKSPACE while the mouse is within the plot area.
from bokeh.
Press tap
differs from tap
, press
involves a long hold tap
. This behavior is perhaps more intuitive on touch devices. However, I believe the documentation would benefit from clearly differentiating Press tap
and tap
, especially for those using a mouse.
PolySelectTool#
The polygon selection tool allows you to define an arbitrary polygonal region for selection by left-clicking a mouse, or tapping a finger at different locations.
After a selection is made, the indices of the selected points are available from properties on the
Selection
object for a glyph data source. For example:source.selected.indices
will hold the selected indices in the common case of a โscatterโ type glyph.
Note
Complete the selection by making press tap on the canvas. To make a multiple selection, press the SHIFT key. To clear the selection, press the ESC key.
E.g., when i read the documentation for PolySelectTool i wouldn't know, now i do, that press tap = long press/click
.
Ideally this should be intuniv and a user shouldn't be required to read the documentation, but developers do and could guide a user via tooltips etc.
from bokeh.
So, I think the main priority is to improve the UX so that it is more intuitive, and then in whatever PR does that, update the docs to match. I agree that "press tap" is ambiguous since "press" can can function as different parts of speech in this case and it is not evident which one is intended.
from bokeh.
Related Issues (20)
- [BUG] TableColumn visible property is not working if a column is added after the DataTable is created
- [BUG] autosize_mode prevents DataTable values to be updated HOT 1
- [FEATURE] Support directory upload and clearing inputs from Python for `FileInput` widget
- [BUG] BokehJS standalone initialization fails HOT 8
- [BUG] Custom CSS broken HOT 3
- Docs sidebars take up way to much space HOT 4
- BokehJS docs page has issues HOT 2
- [BUG] figure.circle produces empty plot when used datetime axis HOT 5
- Bokeh.Plotting.figure.circle in bokehjs can't find `x` and `y` in a ColumnDataSource HOT 1
- CI jobs should fail immediately (or retry) if package install fails
- Remove typing_extenions at minpy 3.11 HOT 2
- [BUG] Tooltips not shown when plot is in fullscreen HOT 1
- [BUG] NPM package has types (*.d.ts) in incorrect location
- [FEATURE] Custom sorting of columns in a table HOT 1
- `Tooltip` is initially attached to the DOM when it shouldn't be HOT 1
- Inner canvas layers need `overflow: hidden` after PR #13863
- [BUG] Typing of layouts.gridplot expects wrong type if ncols given
- Add IndexedStackColorMapper for ImageStack glyph
- [BUG] `bokeh.plotting.figure.circle` does not display circles in bokeh 3.4.1 HOT 6
- Release build fails after PR #13901 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bokeh.