Python散景:同一行上有多个颜色段
发布时间:2020-12-20 13:13:44 所属栏目:Python 来源:网络整理
导读:我正在使用 python 3.5和散景0.12.1,我试图在不同的段上绘制一个具有多种颜色的简单线条.基本上我希望线条具有基于列值的不同颜色. 这是我的代码的简化版本: import numpy as npfrom numpy import vectorizeimport pandas as pdfrom bokeh.plotting import
我正在使用
python 3.5和散景0.12.1,我试图在不同的段上绘制一个具有多种颜色的简单线条.基本上我希望线条具有基于列值的不同颜色.
这是我的代码的简化版本: import numpy as np from numpy import vectorize import pandas as pd from bokeh.plotting import figure,show,output_file def f(x): return 2 * x def color(x): if x < 20: return 0 if 20 <= x < 60: return 1 if 60 <= x < 80: return 0 else: return 1 v_color = vectorize(color) x = np.arange(0,100,1) data = {'x': x,'y': f(x),'colors': v_color(x)} df = pd.DataFrame(data=data) # print(df) p = figure(title="Line example") p.line(df['x'],df['y'],legend="y=f(x)",# line_color="tomato",line_color="olivedrab",line_width=2) p.legend.location = "top_left" output_file("basic_line_test.html",title="line plot example") show(p) # open a browser 基本上该行应该有一种颜色,当’colors’列为0时,我们会说’olivedrab’,当值为1时,可以说’tomato’. 解决方法
截至Bokeh 0.12.1,目前尚不支持此功能.线条一次只能有一种颜色.您的下一个最佳选择是尝试multi_line或细分字形功能,但这样做会更加冗长(您必须计算并提供eery单个细分的起点/终点).
这可能会在未来的某个版本中添加为一项功能,我建议您在项目GitHub issue tracker上提交功能请求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |