许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Python多行图高亮显示:Altair实现技巧

Python多行图高亮显示:Altair实现技巧

阅读数 7
点赞 0
article_banner

我尝试使用Python中的Altair模块创建一个交互式timeseries图表,其中包含20多行数据。在

创建我正在查看的形状的数据帧的代码如下:import numpy as np

import altair as alt

year = np.arange(1995, 2020)

day = np.arange(1, 91)

def gen_next_number(previous, limit, max_reached):

if max_reached:

return np.NAN, True

increment = np.random.randint(0, 10)

output = previous + increment

if output >= 100:

output = 100

max_reached = True

return output, max_reached

def gen_list():

output_list = []

initial = 0

limit = 100

max_reached = False

value = 0

for i in range(1, 91):

value, max_reached = gen_next_number(value, limit, max_reached)

if max_reached:

value = np.NAN

output_list.append(value)

return output_list

df = pd.DataFrame(index = day, columns=year )

for y in year:

data = gen_list()

df[y] = data

df['day'] = df.index

df = df.melt("day")

df = df.dropna(subset=["value"])

我可以使用下面的Altair代码生成初始图,但这并不漂亮:

^{pr2}$

108b5824893db53806602cdfa58e3531.png

但是当我尝试用这个代码创建一些交互的东西时,它失败了:highlight = alt.selection(type='single', on='mouseover',

fields='variable', nearest=True, empty="none")

alt.Chart(plottable).mark_line().encode(

x='day:N',

color="variable:N",

y=alt.condition(highlight, 'value:Q', alt.value("lightgray")),

tooltip=["variable:N", "value"]

).add_selection(

highlight

)

它失败,错误如下:TypeError: sequence item 1: expected str instance, int found

有人能帮我吗?在

另外,是否有可能使图例交互?所以在一年以上徘徊会突出一条线?在


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空