# !pip install vega
# !pip install vega_datasets
import altair as alt
alt.renderers.enable('notebook')
RendererRegistry.enable('notebook')
# load a simple dataset as a pandas DataFrame
from vega_datasets import data
cars = data.cars()
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
).interactive()
<vega.vegalite.VegaLite at 0x7f5166171a20>
![[外链图片转存失败(img-rJv2r6p2-1566885312130)(1_files/1_2_2.png)]](https://www.gofarlic.com\upload\csdn\503\00d545b07cea55ac4c366adfbfe66e1b.png)
from vega_datasets import data
df = data.seattle_weather()
df.head()
| date | precipitation | temp_max | temp_min | wind | weather | |
|---|---|---|---|---|---|---|
| 0 | 2012-01-01 | 0.0 | 12.8 | 5.0 | 4.7 | drizzle |
| 1 | 2012-01-02 | 10.9 | 10.6 | 2.8 | 4.5 | rain |
| 2 | 2012-01-03 | 0.8 | 11.7 | 7.2 | 2.3 | rain |
| 3 | 2012-01-04 | 20.3 | 12.2 | 5.6 | 4.7 | rain |
| 4 | 2012-01-05 | 1.3 | 8.9 | 2.8 | 6.1 | rain |
alt.Chart(df).mark_point().encode(
alt.X('temp_max', title='Maximum Daily Temperature (C)'),
alt.Y('temp_range:Q', title='Daily Temperature Range (C)'),
alt.Color('weather'),
alt.Size('precipitation', scale=alt.Scale(range=[1, 200]))
).transform_calculate(
"temp_range", "datum.temp_max - datum.temp_min"
).properties(
width=600,
height=400
).interactive()
<vega.vegalite.VegaLite at 0x7f5137660048>
![[外链图片转存失败(img-F2S6NONx-1566885312133)(1_files/1_4_2.png)]](https://www.gofarlic.com\upload\csdn\503\c8c021fb44eb36e99ca9ce540c782221.png)
import altair as alt
import pandas as pd
import numpy as np
np.random.seed(42)
source = pd.DataFrame(np.cumsum(np.random.randn(100, 3), 0).round(2),
columns=['A', 'B', 'C'], index=pd.RangeIndex(100, name='x'))
source = source.reset_index().melt('x', var_name='category', value_name='y')
# Create a selection that chooses the nearest point & selects based on x-value
nearest = alt.selection(type='single', nearest=True, on='mouseover',
fields=['x'], empty='none')
# The basic line
line = alt.Chart(source).mark_line(interpolate='basis').encode(
x='x:Q',
y='y:Q',
color='category:N'
)
# Transparent selectors across the chart. This is what tells us
# the x-value of the cursor
selectors = alt.Chart(source).mark_point().encode(
x='x:Q',
opacity=alt.value(0),
).add_selection(
nearest
)
# Draw points on the line, and highlight based on selection
points = line.mark_point().encode(
opacity=alt.condition(nearest, alt.value(1), alt.value(0))
)
# Draw text labels near the points, and highlight based on selection
text = line.mark_text(align='left', dx=5, dy=-5).encode(
text=alt.condition(nearest, 'y:Q', alt.value(' '))
)
# Draw a rule at the location of the selection
rules = alt.Chart(source).mark_rule(color='gray').encode(
x='x:Q',
).transform_filter(
nearest
)
# Put the five layers into a chart and bind the data
alt.layer(
line, selectors, points, rules, text
).properties(
width=600, height=300
)
<vega.vegalite.VegaLite at 0x7f51374ab2e8>
![[外链图片转存失败(img-0t8R0aNP-1566885312133)(1_files/1_5_2.png)]](https://www.gofarlic.com\upload\csdn\503\4703619f95bc9d70c269318a91b6301c.png)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删