bokeh是python中一款基于网页的画图工具库,画出的图像以html格式保存

from bokeh.plotting import figure, show, output_file

figure是一个什么类型的数据?通过查看源代码,发现原来figure是一个函数,返回值为Figure类,Figure类以来自bokeh.models中的Plot类为父类,Figure类继承了Plot类中的各种属性

output_file("line.html")#输出到静态HTML文件
output_file("test.html", title="test.py")#可以定义标签

在python3中 figure可以直接写为 figure()

#figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)#例子
p = figure(plot_width=400, plot_height=400)#指定宽高大小

num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框

p.square([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20, color="olive", alpha=0.5)

Bokeh中有很多标记类型,通过调用不同的函数实现,详细如下:

asterisk()-星号circle()-圆形circle_cross()-圆形加十字circle_x()-圆形加X交叉cross()-十字diamond()-菱形diamond_cross()-菱形加十字inverted_triangle()-倒三角形square()-正方形square_cross()-正方形加十字square_x()-正方形加X交叉triangle()-三角形x()-X字

所有标记都具有相同的一组属性:横坐标x,纵坐标y,大小和角度。 此外,circle()具有可用于指定数据空间单位的半径属性,也就是可以画我们常说的气泡图。

show(p)

在html页面展示图像

#===============================

实战:

import MySQLdb as mdb #加载MySQLdb
import pandas as pd
from bokeh.layouts import widgetbox,row #载入小部件
from bokeh.models.widgets import Panel, Tabs #小部件中的工具载入
#widgets部件下还有 Button, RadioButtonGroup, Select, Slider
from bokeh.plotting import figure, show, output_fileX=[]
Y=[]
Z=[]
conn = mdb.connect(host='xxxxxxxxxx', port=xxxxx, user='xxxxx', passwd='xxxxxxx',db='xxxxxxx') #链接地址 库名
cursor1 = conn.cursor() #建立游标cursor()
sql1="select server_id,DATE(FROM_UNIXTIME(create_time/1000))as date1,round(SUM(amount),2)as pay " \"from superking_payment.success_record " \"GROUP BY date1,server_id"
#sql语句
cursor1.execute(sql1) #查询数据 execute()用于执行一个数据库的查询命令
res = cursor1.fetchall() #获取结果fetchall()获取结果集中剩下的所有行for i4 in range(len(res)):Z.append(res[i4][0])for i3 in range(len(res)):X.append(res[i3][2])for i in range(len(res)):Y.append(res[i][1])cursor1.close()     #关闭游标close()
conn.close() #关闭连接close()'''date={'server_id':Z,'amount':X,'date1':Y}
a=pd.DataFrame(date)
se=[1]
se2=[2]a1=a.loc[a['server_id'].isin(se)] #a中'server_id'列包含se的全部显示
a2=a.loc[a['server_id'].isin(se2)]output_file("line.html") #输出到静态HTML文件
p1 = figure(plot_width=1200, plot_height=600,y_axis_type='linear',x_axis_type='datetime')
# 长 / 高 / 明确X轴为时间格式 / Y轴也可以设置 y_axis_type /y_range
# 并且X / Y 轴type只包含('linear', 'log', 'datetime', 'mercator')这几种
p1.xaxis.axis_label = 'pay' #X轴标签
p1.yaxis.axis_label = 'date_time' #Y轴标签
p1.line(a1['date1'], a1['amount'],legend='server_id1',color='#A6CEE3')#线条名称 线条颜色
tab1 = Panel(child=p1, title="server1")p2 = figure(plot_width=1200, plot_height=600,y_axis_type='linear',x_axis_type='datetime')
p2.xaxis.axis_label = 'pay' #X轴标签
p2.yaxis.axis_label = 'date_time' #Y轴标签
p2.line(a2['date1'], a1['amount'],legend='server_id2',color='#CD853F')#更多参数size=10, color="olive", alpha=0.5
tab2 = Panel(child=p2, title="server2")#widgets其他部件用法:
#slider = Slider(start=0, end=10, value=1, step=.1, title="Slider")
#button_group = RadioButtonGroup(labels=["Option 1", "Option 2", "Option 3"], active=0)
#select = Select(title="Option:", value="foo", options=["foo", "bar", "baz", "quux"])
# button_1 = Button(label='server1')
# button_2 = Button(label='server2')tabs = Tabs(tabs=[ tab1, tab2 ])
show(tabs)#row()/column()/gridplot()/widgetbox()/layout()
# row()的作用是将多个图像以行的方式放到同一张图中
# column()的作用是将多个图像以列的方式放到同一张图像中
# gridplot()以矩阵的方式将多个图像放到同一张图上,可以使用gridplot()函数,如果某个位置的图像为空,可以设定为None
# widgetbox()在图像中插入widgets(小部件),可以使用widgetbox()函数
# layout()函数的作用有两个# widgetbox()下还有Button, RadioButtonGroup, Select, Slider ,Panel, Tabs

补充:

p1.circle(x=a1['date1'], y=a1['amount'], fill_color='white',size=8)

#增加圆形节点 标签
#在p2.line(a2['date1'], a1['amount'],legend='server_id2',col....下方增加
#=====================================================
参考文献:
https://blog.csdn.net/tankloverainbow/article/details/80442289
https://zhuanlan.zhihu.com/p/35392494
https://www.cnblogs.com/darkknightzh/p/6117528.html
https://blog.csdn.net/tankloverainbow/article/details/80464759
https://bokeh.pydata.org/en/latest/docs/user_guide/layout.html

附录:(matplotlib中color可用的颜色)

'aliceblue':            '#F0F8FF',
'antiquewhite':         '#FAEBD7',
'aqua':                 '#00FFFF',
'aquamarine':           '#7FFFD4',
'azure':                '#F0FFFF',
'beige':                '#F5F5DC',
'bisque':               '#FFE4C4',
'black':                '#000000',
'blanchedalmond':       '#FFEBCD',
'blue':                 '#0000FF',
'blueviolet':           '#8A2BE2',
'brown':                '#A52A2A',
'burlywood':            '#DEB887',
'cadetblue':            '#5F9EA0',
'chartreuse':           '#7FFF00',
'chocolate':            '#D2691E',
'coral':                '#FF7F50',
'cornflowerblue':       '#6495ED',
'cornsilk':             '#FFF8DC',
'crimson':              '#DC143C',
'cyan':                 '#00FFFF',
'darkblue':             '#00008B',
'darkcyan':             '#008B8B',
'darkgoldenrod':        '#B8860B',
'darkgray':             '#A9A9A9',
'darkgreen':            '#006400',
'darkkhaki':            '#BDB76B',
'darkmagenta':          '#8B008B',
'darkolivegreen':       '#556B2F',
'darkorange':           '#FF8C00',
'darkorchid':           '#9932CC',
'darkred':              '#8B0000',
'darksalmon':           '#E9967A',
'darkseagreen':         '#8FBC8F',
'darkslateblue':        '#483D8B',
'darkslategray':        '#2F4F4F',
'darkturquoise':        '#00CED1',
'darkviolet':           '#9400D3',
'deeppink':             '#FF1493',
'deepskyblue':          '#00BFFF',
'dimgray':              '#696969',
'dodgerblue':           '#1E90FF',
'firebrick':            '#B22222',
'floralwhite':          '#FFFAF0',
'forestgreen':          '#228B22',
'fuchsia':              '#FF00FF',
'gainsboro':            '#DCDCDC',
'ghostwhite':           '#F8F8FF',
'gold':                 '#FFD700',
'goldenrod':            '#DAA520',
'gray':                 '#808080',
'green':                '#008000',
'greenyellow':          '#ADFF2F',
'honeydew':             '#F0FFF0',
'hotpink':              '#FF69B4',
'indianred':            '#CD5C5C',
'indigo':               '#4B0082',
'ivory':                '#FFFFF0',
'khaki':                '#F0E68C',
'lavender':             '#E6E6FA',
'lavenderblush':        '#FFF0F5',
'lawngreen':            '#7CFC00',
'lemonchiffon':         '#FFFACD',
'lightblue':            '#ADD8E6',
'lightcoral':           '#F08080',
'lightcyan':            '#E0FFFF',
'lightgoldenrodyellow': '#FAFAD2',
'lightgreen':           '#90EE90',
'lightgray':            '#D3D3D3',
'lightpink':            '#FFB6C1',
'lightsalmon':          '#FFA07A',
'lightseagreen':        '#20B2AA',
'lightskyblue':         '#87CEFA',
'lightslategray':       '#778899',
'lightsteelblue':       '#B0C4DE',
'lightyellow':          '#FFFFE0',
'lime':                 '#00FF00',
'limegreen':            '#32CD32',
'linen':                '#FAF0E6',
'magenta':              '#FF00FF',
'maroon':               '#800000',
'mediumaquamarine':     '#66CDAA',
'mediumblue':           '#0000CD',
'mediumorchid':         '#BA55D3',
'mediumpurple':         '#9370DB',
'mediumseagreen':       '#3CB371',
'mediumslateblue':      '#7B68EE',
'mediumspringgreen':    '#00FA9A',
'mediumturquoise':      '#48D1CC',
'mediumvioletred':      '#C71585',
'midnightblue':         '#191970',
'mintcream':            '#F5FFFA',
'mistyrose':            '#FFE4E1',
'moccasin':             '#FFE4B5',
'navajowhite':          '#FFDEAD',
'navy':                 '#000080',
'oldlace':              '#FDF5E6',
'olive':                '#808000',
'olivedrab':            '#6B8E23',
'orange':               '#FFA500',
'orangered':            '#FF4500',
'orchid':               '#DA70D6',
'palegoldenrod':        '#EEE8AA',
'palegreen':            '#98FB98',
'paleturquoise':        '#AFEEEE',
'palevioletred':        '#DB7093',
'papayawhip':           '#FFEFD5',
'peachpuff':            '#FFDAB9',
'peru':                 '#CD853F',
'pink':                 '#FFC0CB',
'plum':                 '#DDA0DD',
'powderblue':           '#B0E0E6',
'purple':               '#800080',
'red':                  '#FF0000',
'rosybrown':            '#BC8F8F',
'royalblue':            '#4169E1',
'saddlebrown':          '#8B4513',
'salmon':               '#FA8072',
'sandybrown':           '#FAA460',
'seagreen':             '#2E8B57',
'seashell':             '#FFF5EE',
'sienna':               '#A0522D',
'silver':               '#C0C0C0',
'skyblue':              '#87CEEB',
'slateblue':            '#6A5ACD',
'slategray':            '#708090',
'snow':                 '#FFFAFA',
'springgreen':          '#00FF7F',
'steelblue':            '#4682B4',
'tan':                  '#D2B48C',
'teal':                 '#008080',
'thistle':              '#D8BFD8',
'tomato':               '#FF6347',
'turquoise':            '#40E0D0',
'violet':               '#EE82EE',
'wheat':                '#F5DEB3',
'white':                '#FFFFFF',
'whitesmoke':           '#F5F5F5',
'yellow':               '#FFFF00',
'yellowgreen':          '#9ACD32'

python可视化Bokeh 线形图(带分页)相关推荐

  1. python条形图和线形图的绘制,并显示数据

    1. matplotlib.pyplot库的简述 pyplot是matplotlib的子库,主要用于实现各种数据展示图形的绘制 首先导入此包,方便引用取个别名plt import matplotlib ...

  2. Python可视化 | Matplotlib绘制圆环图的两种方法!

    人生苦短,快学Python!今天给大家介绍Python可视化之环形图的绘制. 环形图,也被称为圆环图.它在功能上与饼图相同,只是中间有一个空白,并且能够同时支持多个统计数据.与标准饼图相比,环形图提供 ...

  3. Python数据分析19——matplotlib可视化(一)之线形图

    matplotlib绘制线形图 线形图是最基本的图表了,没有之一,所以这是我们必须掌握的技能. 准备 首先,我们必须先安装matplotlib模块. pip install matplotlib 然后 ...

  4. [转载] 交互式数据可视化在Python中用Bokeh实现

    参考链接: Python | 使用Bokeh进行数据可视化 文章转载自:http://www.zuimoban.com/jiaocheng/python/6615.html Bokeh是一个专门针对W ...

  5. 新视角带你认识Python可视化库(附代码资源)

    作者:Dan Saber 翻译:笪洁琼 校对:梁傅淇 本文约16196字,建议阅读20+分钟. 本文中,作者借助拟人化的形式,让Python中值得一提的可视化库共同出演了一出戏剧,形象.生动地展现了不 ...

  6. python交互式绘图库_一个交互式可视化Python库——Bokeh

    本篇为<Python数据可视化实战>第十篇文章,我们一起学习一个交互式可视化Python库--Bokeh. Bokeh基础 Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Py ...

  7. python 可视化饼图_Python可视化学习(饼状图,坐标系...)

    写在前面的话 01 今天资源君带大家学习一下Python的可视化,何谓可视化呢?我们常常听说Python的数据分析,数据分析中很重要的一个就是将数据展示出来,如何展示出来呢?这就得靠我们的Python ...

  8. python bokeh教程_交互式数据可视化在Python中用Bokeh实现

    Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库.这是Bokeh与其它可视化库最核心的区别.正如下图所示,它说明了Bokeh如何将数据展示到一个Web浏览器上的流程. 正如你 ...

  9. python修改文件名称唯美_5行代码搞定14种常见图的python可视化库,还自带16种优美主题,真是太喜欢了...

    原创:小dull鸟 python数据分析之禅 原文链接: 5行代码搞定14种常见图的python可视化库,还自带16种优美主题,真是太喜欢了​mp.weixin.qq.com 有时候我们做数据可视化并 ...

最新文章

  1. mysql5.7.17主从_MySQL 5.7主从不停机添加新从库
  2. 001_Gson概述
  3. 使用WSE实现Web Service安全
  4. mysql怎么禁止远程连接_mysql如何设置禁止远程连接
  5. sql实现寻找中位数(使用sign、case、自定义变量等)
  6. ArcEngine二次开发_04(鼠标点击图层点显示属性(两个及以上))
  7. dos进入mysql不记得密码_windos mysql 忘记密码,无密码登录,重新登录
  8. python绘制简单城市剪影图_Python之绘制个人足迹地图
  9. C++调用C#编写的DLL【转】
  10. java详细安装教程(含安装包+详细安装视频)
  11. c++ 字符串替换指定字符
  12. PIL 库介绍与简单应用
  13. 我们需要谈论凯文:我试图建立一个值得信赖的Twitter机器人
  14. 给真的想【卷】的你们
  15. 'Bullet' object has no attribute 'draw_bullet'
  16. 大田智能灌溉系统解决方案
  17. c语言汇编语言在线转换,如何把汇编语言转换成C语言
  18. Verilog HDL 语言基础语法
  19. 开启AI世界的大门 —— 从人工智能到计算机视觉
  20. 【PFC离散元仿真核心技术与应用】专题来了

热门文章

  1. 能讲一下关于 18 世纪哲学家大卫 • 休谟和恐怖悖论吗
  2. linux 变量引用 和 变量的自动类型转换 c++,C++能不能让编译器自动推导变量类型吗...
  3. 【00】processing-历史(中文)
  4. mysql数据库表损坏修复方法(适用虚拟主机)
  5. 浙江省杭州职称评审申报时间
  6. learnopengl 中 pbr的球体算法
  7. ubuntu虚拟机迁移/移动/复制后无法上网
  8. 如何查看自己加入过的微信群
  9. eps罗马柱头制作方法_元阳好的eps罗马柱批发价格,罗马柱子制作
  10. 电信客户流失分析实战