Hover text not visible for small bars
Nobody has claimed this yet.
- Dominant language
- R
- Stars
- 2.7k
- Forks
- 641
- PR merge metrics
- No merged PRs in 30d
Description
I can't find a way to get the hover text to show up in a bar chart when the value of the bar is 0 or very small. The bar is not shown at all when the value is 0 but you can get around that by adding an outline color which makes it visible. However, the hover text does not show. One work around is to replace the zero with a small number but this does not show the hover text unless you zoom in or move the cursor extremely slowly. Another work around which works okay is to add a very small point geom which will provide the hover text for the small bar but then there are two different hover text sources for the larger bars which looks strange.
An ideal solution in my opinion would show a line when the value is 0 and the hover text would show up over the line. This is not the default for ggplot though so it would also be fine if when the line is added by including an outline for the bar geom the hovertext showed up when hovering near the line.
library(ggplot2)
library(plotly)
df <- data.frame(x = letters[1:5], y = 0:4*10, text = paste("some text", 1:5))
# No bar in ggplot or plotly
gp <- ggplot(df, aes(x, y, text = text))+
geom_col()
ggplotly(gp, tooltip = "text")
# has line but no hovertext
gp <- ggplot(df, aes(x, y, text = text))+
geom_col(color = "black")
ggplotly(gp, tooltip = "text")
# has small bar but can only see hover text if zoom in
df$y[1] <- 0.01
gp <- ggplot(df, aes(x, y, text = text))+
geom_col(color = "black")
ggplotly(gp, tooltip = "text")
# Hover text shows up for point but mutiple hovertexts for larger bars
gp <- ggplot(df, aes(x, y, text = text))+
geom_col(color = "black")+
geom_point(size = 0.1)
ggplotly(gp, tooltip = "text")
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the ggplotly examples in the issue and tracing how geom_col bars produce hover targets for zero and very small values. Identify the bar hover handling and its related tests, then verify that zero or tiny bars expose the requested tooltip without creating duplicate hover sources.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100