-
Notifications
You must be signed in to change notification settings - Fork 0
/
Altair_cheat_sheet.py
64 lines (51 loc) · 1.81 KB
/
Altair_cheat_sheet.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import altair as alt
alt.renderers.enable('notebook')#required for Jupyter notebook
"""
Altair Follows a standard structure of
alt.Chart(df).mark_*().encode() #*=chart type
Within the basic chart, specify x and y axes based in encode()
mark_bar
mark_point
color='col_x' #column to use for color separations
shape='col_y' #column to use for shape separatons
Additional mark attributes: fill, size, stroke
text= 'col_x' #column to use for text on the point/line
tooltip = 'col_x' #column to use for the tooltip value
href='col_x' #hyperlink for points
"""
#create a bar chart
alt.Chart(df).mark_bar().encode(
y='num_events',
x='borough'
)
#same bar chart with modifications for size, color and properties
alt.Chart(df).mark_bar(size=50, color='firebrick').encode(
y='num_events',
x='borough'
).properties(width=600)
#adding .interactive() allows a chart to scale
#Line Chart with years separated as separate lines
import altair as alt
data = "https://frdata.wikimedia.org/donationdata-vs-day.csv"
alt.Chart(data).mark_line().encode(
alt.X('monthdate(date):T', axis=alt.Axis(format='%B', title='Month')),
alt.Y(
'max(ytdsum):Q', stack=None,
axis=alt.Axis(title='Cumulative Donations')
),
alt.Color('year(date):O', legend=alt.Legend(title='Year')),
alt.Order('year(data):O')
)
#Advanced Features
#Data Transformations
#Altair has built-in data transformations
alt.Chart.(df).mark_point().encode(
x='col_a', y='average(col_b)'
)
this creates a scatter plot with the average of column b
#Specify the datatype within the plot
alt.Chart(df).mark_point().encode(
alt.Y('col_a', axis=alt.Axis(title='column name', type='nominal'),
alt.X('col_b', type='quantitative', aggregate='average')
#additional encodings = Q: quantitative, O: ordered quantity, N:nominial (unordered),
#T: temporal