小编Car*_*ari的帖子

您可以为 Altair 图表的图例添加“缺失数据”标签吗?

我有一个使用 Altair 绘制的热图,其中包含一个颜色条,但热图中缺失的数据(空白/白色)未在颜色条上标记。有没有办法向图例添加单独的标签(例如在颜色栏下方)以显示图表中缺失数据的表示方式?

我想出了一个解决方案,它在我的图表顶部包含一个“幽灵”层——一个大小为 0 的标尺图表(这样这条线是不可见的),它由填充有“否”的字符串值的列着色数据”(见下面的代码)。这会强制一个传奇项目,但我想知道是否有更好的方法。(在此处的链接中查看我的完整示例:热图图

import numpy as np
import altair as alt
import pandas as pd

# Example heatmap data
heatmap_df = pd.DataFrame([["NY",1999,1],["NY",2000,np.nan], ["MA",1999,np.nan], ["MA",2000,4]], columns = ["state","year","rate"])

# Example Legend dataframe
legend_no_data = pd.DataFrame([[1999, "No Data"]], columns = ["year", "text"])


# Example chart with "No Data" label
heatmap = alt.Chart(heatmap_df).mark_rect().encode(alt.X("year:O"), alt.Y("state:N"), alt.Color("rate:Q"))

# Chart for "No Data" legend item
vacc_legend_no_data = alt.Chart(legend_no_data).mark_line(
    size=0
).encode(
    x='year:O',
    color = alt.Color("text:N", legend = alt.Legend(title = "", symbolType = …
Run Code Online (Sandbox Code Playgroud)

python legend altair

3
推荐指数
1
解决办法
546
查看次数

在 Altair 绘图上,您可以更改选项(例如下拉列表、单选按钮)的显示位置吗?

使用 Altair 在 Python 中绘图:我有 2 个并排绘制的图表,右侧的绘图包含一个下拉选择菜单。默认情况下,下拉菜单显示在图的左下角。我想将菜单移到与其链接的右侧图下方。我在文档中没有看到任何与selection_single菜单add_selection位置相关的内容。我正在使用该|方法水平连接图。

简化示例:

并排图

生成上述示例的代码(如果访问数据源有任何问题,请告诉我!不应该有任何限制。):

# Load the data
url = 'https://data.cityofnewyork.us/api/views/vfnx-vebw/rows.csv'
squirrel_data = pd.read_csv(url, usecols = ['Unique Squirrel ID', 'Hectare', 'Shift', 'Date','Hectare Squirrel Number'])
# source (data): https://catalog.data.gov/dataset/2018-central-park-squirrel-census-hectare-data

# Wrangle data
squirrel_data_group_shift = squirrel_data[['Hectare', 'Unique_Squirrel_ID', 'Shift']].groupby(['Hectare','Shift']).count().reset_index().head(30)
squirrel_data_group = squirrel_data[['Hectare', 'Unique_Squirrel_ID']].groupby('Hectare').count().reset_index().head(15)

# Create Dropdown selection
shifts = ['AM','PM']
shift_dropdown = alt.binding_select(options=shifts)
shift_select = alt.selection_single(fields=['Shift'], bind = shift_dropdown)

# Chart 1
shift_chart = (alt.Chart(squirrel_data_group_shift, title = 'Count by shift')
           .mark_bar()
           .add_selection(shift_select) …
Run Code Online (Sandbox Code Playgroud)

python selection drop-down-menu altair

3
推荐指数
1
解决办法
2371
查看次数

标签 统计

altair ×2

python ×2

drop-down-menu ×1

legend ×1

selection ×1