altair 库的使用

库手册:

https://altair-viz.github.io/getting_started/overview.html

IDE:

Pycharm 2021.3 + Python 3.10

库示例:

https://altair-viz.github.io/gallery/index.html

调用的原始API 手册

主要和示例库中的参数做对比:
https://vega.github.io/vega-lite/examples/

1、安装库

import altair as alt
from vega_datasets import data

2、代码

示例1-图1

import altair as alt
# load a simple dataset as a pandas DataFrame
from vega_datasets import data

cars = data.cars()
Car_chart = alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
).interactive()

# Car_chart.save()将图表命名为Car_chart并以html的形式存储在当前路径下
Car_chart.save("Car_chart.html")
# Car_chart.save()将数据命名为Car_chart并以json的形式存储在当前路径下
Car_chart.save("chart.json")
# Car_chart.show()代码运行完成后,将图表后打开浏览器显示
Car_chart.show()

示例2-图2

import altair as alt
from vega_datasets import data

# Since these data are each more than 5,000 rows we'll import from the URLs
airports = data.airports.url
flights_airport = data.flights_airport.url

states = alt.topo_feature(data.us_10m.url, feature="states")

# Create mouseover selection
select_city = alt.selection_single(
    on="mouseover", nearest=True, fields=["origin"], empty="none"
)

# Define which attributes to lookup from airports.csv
lookup_data = alt.LookupData(
    airports, key="iata", fields=["state", "latitude", "longitude"]
)


"""  =====================background 背景=====================  """

background = alt.Chart(states).mark_geoshape(
    fill="lightgray",
    stroke="white"
).properties(
    width=750,
    height=500
).project("albersUsa")

"""  =====================connections 连接线=====================  """
connections = alt.Chart(flights_airport).mark_rule(opacity=0.35).encode(
    latitude="latitude:Q",
    longitude="longitude:Q",
    latitude2="lat2:Q",
    longitude2="lon2:Q"
).transform_lookup(
    lookup="origin",
    from_=lookup_data
).transform_lookup(
    lookup="destination",
    from_=lookup_data,
    as_=["state", "lat2", "lon2"]
).transform_filter(
    select_city
)

"""  =====================points 目的地 =====================  """
points = alt.Chart(flights_airport).mark_circle().encode(
    latitude="latitude:Q",
    longitude="longitude:Q",
    size=alt.Size("routes:Q", scale=alt.Scale(range=[0, 1000]), legend=None),
    order=alt.Order("routes:Q", sort="descending"),
    tooltip=["origin:N", "routes:Q"]
).transform_aggregate(
    routes="count()",
    groupby=["origin"]
).transform_lookup(
    lookup="origin",
    from_=lookup_data
).transform_filter(
    (alt.datum.state != "PR") & (alt.datum.state != "VI")
).add_selection(
    select_city
)

m = (background + connections + points).configure_view(stroke=None)
m.save("USA-airports.html")
m.show()

3、效果

图1

在这里插入图片描述

========================================================================

图2

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值