浅谈python可视化包Bokeh

yipeiwu_com6年前Python基础

本文研究的主要是python可视化包Bokeh的相关内容,具体如下。

问题:需要把pandas的数据绘图并通过网页显示,matplotlib需要先保存图像,不合适。

解决:在网上搜了一下,找到一篇介绍文章 python可视化工具概述,其中介绍了几个python包,总结如下:

  • Pandas对于简单绘图,可以随手用,但你需要学习定制matplotlib。
  • Seaborn可以支持更多复杂的可视化方式,但仍然需要matplotlib知识,上色功能是个亮点。
  • ggplot有很多功能,但还需要发展。
  • bokeh是一个有效的工具,如果你想建立一个可视化的服务器,这几乎是杀鸡用牛刀的事情。
  • pygal独立运行,可用来生成交互的svg图表和png文件。它没有基于matploglib的方案那样灵活。
  • Plotly可生成大多数可交互图表。你可以保存为离线文件,然后建立丰富的基于web的可视化。
  • 感觉Bokeh比较合适,就认真研究了一下,找到一篇简单介绍Bokeh使用的文章 交互式数据可视化,在Python中用Bokeh实现,Bokeh可以直接跟Jinja2集成,将生成的图像在网页中直接显示,正满足需求。大体流程如下:

1、生成图像

p = figure(title = code, plot_width=1024, plot_height=600, x_axis_type='datetime') 
p.line(x=trd_df['date'], y=trd_df['close']) 
script, div = components(p) 

2、在flask中传递参数

return render_template('show_stock.html', 
bk_js = bokeh.resources.INLINE.render_js(),
bk_css = bokeh.resources.INLINE.render_css(), 
p_script = script, div = p_div)

3、在html中调用显示

<!doctype html> 
<html lang="en"> 
<head> 
  <meta charset='utf-8' /> 
  <meta http-equiv='content-type' content='text/html; charset=utf-8' /> 
 
  <title>Embed Demo</title> 
 
  {{ js_resources|indent(4)|safe }} 
 
  {{ css_resources|indent(4)|safe }} 
 
  {{ p_script|indent(4)|safe }} 
 
</head> 
<body> 
 
  {{ p_div|indent(4)|safe }} 
 
</body> 
</html> 

总结

以上就是本文关于浅谈python可视化包Bokeh的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

python正常时间和unix时间戳相互转换的方法

本文实例讲述了python正常时间和unix时间戳相互转换的方法。分享给大家供大家参考。具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来,...

django 按时间范围查询数据库实例代码

从前台中获得时间范围,在django后台处理request中数据,完成format,按照范围调用函数查询数据库。 介绍一个简单的功能,就是从web表单里获取用户指定的时间范围,然后在数据...

浅谈Python中range和xrange的区别

range()是Python的内置函数,用于创建整数的列表,可以生成递增或者递减的数列。xrange也有相同的功能, 今天来看下它们之间的不同。 range 函数说明:...

Python深度优先算法生成迷宫

本文实例为大家分享了Python深度优先算法生成迷宫,供大家参考,具体内容如下 import random #warning: x and y confusing sx...

基于Python中isfile函数和isdir函数使用详解

Python编程语言判断是否是目录 在Python编程语言中可以使用os.path.isdir()函数判断某一路径是否为目录。其函数原型如下所示。 os.path.isdir(pat...