:orphan:
:html_theme.sidebar_secondary.remove:
.. This document is auto-generated by the altair-gallery extension. Do not modify directly.
.. _gallery_ranged_dot_plot:
Ranged Dot Plot
---------------
This example shows a ranged dot plot to convey changing life expectancy for the five most populous countries (between 1955 and 2000).
.. altair-plot::
:remove-code:
import altair as alt
from vega_datasets import data
source = data.countries.url
chart = (
alt.Chart(source)
.encode(x="life_expect:Q", y="country:N")
.transform_filter(
alt.FieldOneOfPredicate(
field="country",
oneOf=["China", "India", "United States", "Indonesia", "Brazil"],
)
)
.transform_filter(alt.FieldOneOfPredicate(field="year", oneOf=[1955, 2000]))
)
line = chart.mark_line(color="#db646f").encode(detail="country:N")
# Add points for life expectancy in 1955 & 2000
color = alt.Color(
"year:O", scale=alt.Scale(domain=[1955, 2000], range=["#e6959c", "#911a24"])
)
points = (
chart.mark_point(
size=100,
opacity=1,
filled=True,
)
.encode(color=color)
.interactive()
)
(line + points)
.. tab-set::
.. tab-item:: Method syntax
:sync: method
.. code:: python
import altair as alt
from vega_datasets import data
source = data.countries.url
chart = (
alt.Chart(source)
.encode(x="life_expect:Q", y="country:N")
.transform_filter(
alt.FieldOneOfPredicate(
field="country",
oneOf=["China", "India", "United States", "Indonesia", "Brazil"],
)
)
.transform_filter(alt.FieldOneOfPredicate(field="year", oneOf=[1955, 2000]))
)
line = chart.mark_line(color="#db646f").encode(detail="country:N")
# Add points for life expectancy in 1955 & 2000
color = alt.Color("year:O").scale(domain=[1955, 2000], range=["#e6959c", "#911a24"])
points = (
chart.mark_point(
size=100,
opacity=1,
filled=True,
)
.encode(color=color)
.interactive()
)
(line + points)
.. tab-item:: Attribute syntax
:sync: attribute
.. code:: python
import altair as alt
from vega_datasets import data
source = data.countries.url
chart = (
alt.Chart(source)
.encode(x="life_expect:Q", y="country:N")
.transform_filter(
alt.FieldOneOfPredicate(
field="country",
oneOf=["China", "India", "United States", "Indonesia", "Brazil"],
)
)
.transform_filter(alt.FieldOneOfPredicate(field="year", oneOf=[1955, 2000]))
)
line = chart.mark_line(color="#db646f").encode(detail="country:N")
# Add points for life expectancy in 1955 & 2000
color = alt.Color(
"year:O", scale=alt.Scale(domain=[1955, 2000], range=["#e6959c", "#911a24"])
)
points = (
chart.mark_point(
size=100,
opacity=1,
filled=True,
)
.encode(color=color)
.interactive()
)
(line + points)