mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-04-21 18:23:35 +00:00
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
"""
|
|
Dot Dash Plot
|
|
=============
|
|
How to make the dot-dash plot presented in Edward Tufte's `Visual Display of Quantitative Information <https://www.edwardtufte.com/tufte/books_vdqi>`_. Based
|
|
on a JavaScript implementation by `g3o2 <https://bl.ocks.org/g3o2/bd4362574137061c243a2994ba648fb8>`_.
|
|
"""
|
|
# category: scatter plots
|
|
import altair as alt
|
|
from vega_datasets import data
|
|
|
|
source = data.cars()
|
|
|
|
# Configure the options common to all layers
|
|
brush = alt.selection(type='interval')
|
|
base = alt.Chart(source).add_selection(brush)
|
|
|
|
# Configure the points
|
|
points = base.mark_point().encode(
|
|
x=alt.X('Miles_per_Gallon', title=''),
|
|
y=alt.Y('Horsepower', title=''),
|
|
color=alt.condition(brush, 'Origin', alt.value('grey'))
|
|
)
|
|
|
|
# Configure the ticks
|
|
tick_axis = alt.Axis(labels=False, domain=False, ticks=False)
|
|
|
|
x_ticks = base.mark_tick().encode(
|
|
alt.X('Miles_per_Gallon', axis=tick_axis),
|
|
alt.Y('Origin', title='', axis=tick_axis),
|
|
color=alt.condition(brush, 'Origin', alt.value('lightgrey'))
|
|
)
|
|
|
|
y_ticks = base.mark_tick().encode(
|
|
alt.X('Origin', title='', axis=tick_axis),
|
|
alt.Y('Horsepower', axis=tick_axis),
|
|
color=alt.condition(brush, 'Origin', alt.value('lightgrey'))
|
|
)
|
|
|
|
# Build the chart
|
|
y_ticks | (points & x_ticks)
|