我想使用循环来加载和/或修改数据,并使用Bokeh在循环中绘制结果(我熟悉Matplotlib’s axes.color_cycle
).这是一个简单的例子
import numpy as np
from bokeh.plotting import figure, output_file, show
output_file('bokeh_cycle_colors.html')
p = figure(width=400, height=400)
x = np.linspace(0, 10)
for m in xrange(10):
y = m * x
p.line(x, y, legend='m = {}'.format(m))
p.legend.location='top_left'
show(p)
这会产生这个情节
如何使颜色循环而不编码颜色列表和模数操作,以便在颜色数量用完时重复?
关于GitHub的一些讨论与此有关,问题351和2201,但目前尚不清楚如何使这项工作.我在搜索documentation循环颜色时得到的四次点击实际上并不包含页面上任何地方的单词循环.
解决方法:
最简单的方法是获取颜色列表并使用itertools
自行循环:
import numpy as np
from bokeh.plotting import figure, output_file, show
# select a palette
from bokeh.palettes import Dark2_5 as palette
# itertools handles the cycling
import itertools
output_file('bokeh_cycle_colors.html')
p = figure(width=400, height=400)
x = np.linspace(0, 10)
# create a color iterator
colors = itertools.cycle(palette)
for m, color in zip(range(10), colors):
y = m * x
p.line(x, y, legend='m = {}'.format(m), color=color)
p.legend.location='top_left'
show(p)
标签:python,plot,bokeh 来源: https://codeday.me/bug/20191005/1857024.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。