#!/usr/bin/env python # coding: utf-8 # # Line Charts # # * [Simple line chart](#Simple-line-chart) # * [Data transform in Vega-Lite](#Data-transform-in-Vega-Lite) # * [Data transform in Pandas](#Data-transform-in-Pandas) # * [Log scale](#Log-scale) # * [Grouped line chart](#Grouped-line-chart) # * [Line chart with custom path](#Line-chart-with-custom-path) # In[1]: import altair as alt # In[2]: from vega_datasets import data stocks = data.stocks() # ## Simple line chart # ### Data transform in Vega-Lite # In[3]: alt.Chart(stocks).mark_line().encode( x='date:T', y='price:Q' ).transform_filter("datum.symbol == 'GOOG'") # ### Data transform in Pandas # In[4]: GOOG = stocks.query('symbol == "GOOG"') alt.Chart(GOOG).mark_line().encode( x='date:T', y='price:Q' ) # ### Log scale # In[5]: alt.Chart(GOOG).mark_line().encode( y=alt.Y('price:Q', scale=alt.Scale(type='log')), x='date:T', ) # ## Grouped line chart # In[6]: alt.Chart(stocks).mark_line().encode( x='date:T', y='price', color='symbol', ) # ## Line chart with custom path # In[7]: driving = data.driving() alt.Chart(driving).mark_line().encode( alt.X('miles', scale=alt.Scale(zero=False)), alt.Y('gas', scale=alt.Scale(zero=False)), order='year:T', ) # ## Layer points and lines with custom path # In[8]: base = alt.Chart(driving).encode( alt.X('miles', scale=alt.Scale(zero=False)), alt.Y('gas', scale=alt.Scale(zero=False)), order='year:T', ) base.mark_line() + base.mark_point()