Tooltips in Altair line charts
When specifying a tooltip for a line chart, the tooltip only appears when hovering over points along a line, but not when hovering anywhere else along a line. This is especially problematic when using a non-linear interpolation... Is there way to explicitly set tooltips on the lines themselves?
import altair as alt
from vega_datasets import data
source = data.jobs.url
alt.Chart(source).mark_line(interpolate="basis").encode(
alt.X('year:O'),
alt.Y('perc:Q', axis=alt.Axis(format='%')),
color='sex:N',
tooltip='sex:N'
).properties(
title='Percent of work-force working as Welders'
).transform_filter(
alt.datum.job == 'Welder'
)
python altair
add a comment |
When specifying a tooltip for a line chart, the tooltip only appears when hovering over points along a line, but not when hovering anywhere else along a line. This is especially problematic when using a non-linear interpolation... Is there way to explicitly set tooltips on the lines themselves?
import altair as alt
from vega_datasets import data
source = data.jobs.url
alt.Chart(source).mark_line(interpolate="basis").encode(
alt.X('year:O'),
alt.Y('perc:Q', axis=alt.Axis(format='%')),
color='sex:N',
tooltip='sex:N'
).properties(
title='Percent of work-force working as Welders'
).transform_filter(
alt.datum.job == 'Welder'
)
python altair
add a comment |
When specifying a tooltip for a line chart, the tooltip only appears when hovering over points along a line, but not when hovering anywhere else along a line. This is especially problematic when using a non-linear interpolation... Is there way to explicitly set tooltips on the lines themselves?
import altair as alt
from vega_datasets import data
source = data.jobs.url
alt.Chart(source).mark_line(interpolate="basis").encode(
alt.X('year:O'),
alt.Y('perc:Q', axis=alt.Axis(format='%')),
color='sex:N',
tooltip='sex:N'
).properties(
title='Percent of work-force working as Welders'
).transform_filter(
alt.datum.job == 'Welder'
)
python altair
When specifying a tooltip for a line chart, the tooltip only appears when hovering over points along a line, but not when hovering anywhere else along a line. This is especially problematic when using a non-linear interpolation... Is there way to explicitly set tooltips on the lines themselves?
import altair as alt
from vega_datasets import data
source = data.jobs.url
alt.Chart(source).mark_line(interpolate="basis").encode(
alt.X('year:O'),
alt.Y('perc:Q', axis=alt.Axis(format='%')),
color='sex:N',
tooltip='sex:N'
).properties(
title='Percent of work-force working as Welders'
).transform_filter(
alt.datum.job == 'Welder'
)
python altair
python altair
asked Nov 13 '18 at 19:07
ejainejain
2,04812139
2,04812139
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I doubt that there is a direct technical solution at the moment :-(
One workaround solution is to explicitly add points on top of lines so it is easier to hover. I usually make them relatively large, but hide until the hover event, like here As a cherry on the top, one could use Voronoi to show the closest point at any given point, as they do in this tutorial
Let me know if you need Altair code example, I used raw vega, but implementing Altair version should be relatively trivial
Vega-Lite author here: yes, this is the preferred approach right now. Tooltips at interpolated positions are problematic because tooltips usually imply some kind of precision but interpolated values are just guesses. So in a way, this is by design. In future versions, we might snap tooltips to the closest defined value.
– dominik
Nov 13 '18 at 22:26
So it looks like tooltips are always associated with points, and there is no concept of tooltips for series (i.e. "colors")?
– ejain
Nov 21 '18 at 4:04
What do you mean by that?
– Philipp_Kats
Nov 21 '18 at 15:28
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53287928%2ftooltips-in-altair-line-charts%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I doubt that there is a direct technical solution at the moment :-(
One workaround solution is to explicitly add points on top of lines so it is easier to hover. I usually make them relatively large, but hide until the hover event, like here As a cherry on the top, one could use Voronoi to show the closest point at any given point, as they do in this tutorial
Let me know if you need Altair code example, I used raw vega, but implementing Altair version should be relatively trivial
Vega-Lite author here: yes, this is the preferred approach right now. Tooltips at interpolated positions are problematic because tooltips usually imply some kind of precision but interpolated values are just guesses. So in a way, this is by design. In future versions, we might snap tooltips to the closest defined value.
– dominik
Nov 13 '18 at 22:26
So it looks like tooltips are always associated with points, and there is no concept of tooltips for series (i.e. "colors")?
– ejain
Nov 21 '18 at 4:04
What do you mean by that?
– Philipp_Kats
Nov 21 '18 at 15:28
add a comment |
I doubt that there is a direct technical solution at the moment :-(
One workaround solution is to explicitly add points on top of lines so it is easier to hover. I usually make them relatively large, but hide until the hover event, like here As a cherry on the top, one could use Voronoi to show the closest point at any given point, as they do in this tutorial
Let me know if you need Altair code example, I used raw vega, but implementing Altair version should be relatively trivial
Vega-Lite author here: yes, this is the preferred approach right now. Tooltips at interpolated positions are problematic because tooltips usually imply some kind of precision but interpolated values are just guesses. So in a way, this is by design. In future versions, we might snap tooltips to the closest defined value.
– dominik
Nov 13 '18 at 22:26
So it looks like tooltips are always associated with points, and there is no concept of tooltips for series (i.e. "colors")?
– ejain
Nov 21 '18 at 4:04
What do you mean by that?
– Philipp_Kats
Nov 21 '18 at 15:28
add a comment |
I doubt that there is a direct technical solution at the moment :-(
One workaround solution is to explicitly add points on top of lines so it is easier to hover. I usually make them relatively large, but hide until the hover event, like here As a cherry on the top, one could use Voronoi to show the closest point at any given point, as they do in this tutorial
Let me know if you need Altair code example, I used raw vega, but implementing Altair version should be relatively trivial
I doubt that there is a direct technical solution at the moment :-(
One workaround solution is to explicitly add points on top of lines so it is easier to hover. I usually make them relatively large, but hide until the hover event, like here As a cherry on the top, one could use Voronoi to show the closest point at any given point, as they do in this tutorial
Let me know if you need Altair code example, I used raw vega, but implementing Altair version should be relatively trivial
answered Nov 13 '18 at 22:14
Philipp_KatsPhilipp_Kats
90411125
90411125
Vega-Lite author here: yes, this is the preferred approach right now. Tooltips at interpolated positions are problematic because tooltips usually imply some kind of precision but interpolated values are just guesses. So in a way, this is by design. In future versions, we might snap tooltips to the closest defined value.
– dominik
Nov 13 '18 at 22:26
So it looks like tooltips are always associated with points, and there is no concept of tooltips for series (i.e. "colors")?
– ejain
Nov 21 '18 at 4:04
What do you mean by that?
– Philipp_Kats
Nov 21 '18 at 15:28
add a comment |
Vega-Lite author here: yes, this is the preferred approach right now. Tooltips at interpolated positions are problematic because tooltips usually imply some kind of precision but interpolated values are just guesses. So in a way, this is by design. In future versions, we might snap tooltips to the closest defined value.
– dominik
Nov 13 '18 at 22:26
So it looks like tooltips are always associated with points, and there is no concept of tooltips for series (i.e. "colors")?
– ejain
Nov 21 '18 at 4:04
What do you mean by that?
– Philipp_Kats
Nov 21 '18 at 15:28
Vega-Lite author here: yes, this is the preferred approach right now. Tooltips at interpolated positions are problematic because tooltips usually imply some kind of precision but interpolated values are just guesses. So in a way, this is by design. In future versions, we might snap tooltips to the closest defined value.
– dominik
Nov 13 '18 at 22:26
Vega-Lite author here: yes, this is the preferred approach right now. Tooltips at interpolated positions are problematic because tooltips usually imply some kind of precision but interpolated values are just guesses. So in a way, this is by design. In future versions, we might snap tooltips to the closest defined value.
– dominik
Nov 13 '18 at 22:26
So it looks like tooltips are always associated with points, and there is no concept of tooltips for series (i.e. "colors")?
– ejain
Nov 21 '18 at 4:04
So it looks like tooltips are always associated with points, and there is no concept of tooltips for series (i.e. "colors")?
– ejain
Nov 21 '18 at 4:04
What do you mean by that?
– Philipp_Kats
Nov 21 '18 at 15:28
What do you mean by that?
– Philipp_Kats
Nov 21 '18 at 15:28
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53287928%2ftooltips-in-altair-line-charts%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown