数据可视化课件_第1页
数据可视化课件_第2页
数据可视化课件_第3页
数据可视化课件_第4页
数据可视化课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1数据可视化第一章Matplotlib的基本使用第二章Matplotlib的进阶使用第三章…第四章目录Contents…第五章绪论2

Bokeh的使用2图表基本参数设置图表辅助参数设置3基本图形绘制45图表进阶操作6工具栏设置7其他交互工具设置1引言3引言1.41引言

51引言Bokeh是一个交互式可视化库,针对现代web浏览器进行显示。它的目标是提供优雅、简洁的通用图形构造,并在非常大的或流数据集上以高性能的交互性扩展这种能力。Bokeh可以帮助任何想要快速轻松地创建交互式图表、仪表板和数据应用程序。Bokeh库捆绑了多种语言,包括Python、R语言、lua和Julia,结合这些语言产生了JSON文档。该文档将作为BokehJS(JavaScript库)的输入,之后将数据展示到Web浏览器上面。6图表基本参数设置2.72图表基本参数设置Bokeh的安装和其他库的安装大同小异。如果你已经是anaconda用户,则只需运行以下命令:condainstallbokeh。或者,也可以使用pip进行安装:pipinstallbokeh。在安装好后,我们就可以绘制简单的图形了。82图表基本参数设置如果是在类似spyder等非notebook中进行绘图,我们就不能使用output_notebook,而需要使用output_file命令。运行后,会弹出一个HTML窗口,我们所绘制的图形即展现在弹出的HTML中。同时,会产生一个HTML文件保存在指定路径下。92图表基本参数设置102图表基本参数设置——基本设置不同于Matplotlib和Seaborn绘图,用Bokeh进行绘图,有很多线的设置、字体的设置等是通用的。比如说,outline_line_width用于调整外边框的线宽,xaxis.axis_line_width用于调整x轴的线宽。其本质都是通过line_width调整线宽。接下来我们介绍一些类似line_width这种通用的基本设置。线的设置112图表基本参数设置——基本设置在Bokeh中,常见的线的设置参数如下:Øline_color:设置颜色,默认值:黑色。Øline_width:设置宽度,默认值:1。Øline_alpha:设置透明度,默认值:1.0。Øline_join:设置连接点样式:可选值有:'miter'、'round'、'bevel',默认值:'bevel'。Øline_cap:设置线端口样式,可选值有:'butt'、'round'、'square',默认值:'butt'。Øline_dash:设置线条样式,可选值有:'solid'、'dashed'、'dotted'、'dotdash'、'dashdot',或者整型数组方式(例如[6,4]),默认值:[]。线的设置122图表基本参数设置——基本设置在Bokeh中,常见的填充的设置参数如下:Øfill_color:设置填充颜色。Øfill_alpha:设置填充透明度。填充的设置132图表基本参数设置——基本设置在Bokeh中,常见的字体的设置参数如下:Øtext_font:字体。Øtext_font_size:字体大小,单位为pt、px或者em,默认值为'12px'('10pt'或'1em')。Øtext_font_style:字体风格,可选参数有:'normal'、'italic'、'bold',默认值为:'normal'。Øtext_color:字体颜色。Øtext_alpha:字体透明度,默认值为:1.0。Øtext_align:字体水平方向位置,可选参数有:'left'、'right'、'center',默认值为:'left'。Øtext_baseline:字体垂直方向位置,可选参数为:'top','middle','bottom','alphabetic''hanging',默认值为:'bottom'。字体的设置142图表基本参数设置——基本设置字体的设置152图表基本参数设置——基本设置在Bokeh中,基本参数中都含有.visible参数,用于设置该参数是否可见可见性的设置162图表基本参数设置——背景的设置如果我们想修改背景色等,可以通过backgroud和border分别修改绘图空间背景和外边界背景。172图表基本参数设置——背景的设置我们还可以通过min_border参数去修改外边界的范围182图表基本参数设置——轴线的设置轴线的线的设置和标签的设置,可以参考之前所讲的基本设置中线的设置和字体的设置。192图表基本参数设置——轴线的设置在介绍轴线的刻度设置前,我们需要先了解major_tick和minor_tick分别指的是哪部分。以下图的y轴为例,我们可以简单理解成:刻度值为3、4等整数的刻度为主刻度;刻度值为3.2、3.4等,位于主刻度之间的,为次刻度。202图表基本参数设置——轴线的设置主次刻度的设置除了刻度线的设置外,还可以通过tick_in和tick_out控制刻度线的方向和长度。可以看出,tick_in控制的是朝内的长度,tick_out控制的是朝外的长度。212图表基本参数设置——网格的设置在网格的设置中,我们可以通过修改grid_line来设置网格线的样式,还可以通过band_fill来设置填充的颜色等。222图表基本参数设置——图例的设置在设置图例时,我们需要注意,一定要在绘图时就设置好图例的名称,后续才能对图例的位置、颜色、字体等进行设置。设置图例时一些常见的参数如下:legend.location:图例位置,可选参数有'top_left'、'top_center'、'top_right'、'center_right'、'bottom_right'、'bottom_center'、'bottom_left'、'center_left'、'center',默认参数为'top_right'。legend.orientation:图例排列方向,可选参数有'vertical'、'horizontal',默认参数为'vertical'。23图表辅助参数设置3.243图表辅助参数设置——辅助线的设置假设我们在绘图的时候用到了折线图,我们想用两条线标注出该折线图的最大值和最小值,就需要用到辅助线。在Bokeh中,辅助线是通过annotations中的Span进行调用的,常见参数如下:location:设置位置,对应坐标值。dimension:设置方向,可选参数有'width'(横向)'height'(纵向)。253图表辅助参数设置——辅助矩形的设置辅助矩形是通过annotations中的BoxAnnotation进行调用的。BoxAnnotation常见参数如下:Øleft:设置位置,左边界坐标值。Øright:设置位置,右边界坐标值。Øtop:设置位置,上边界坐标值。Øbottom:设置位置,下边界坐标值。263图表辅助参数设置——注释文本的设置注释文本是通过annotations中的Label进行调用的,需要注意是annotations中的Label模块,而不是axis中的Label模块。Label常见参数如下:x,y:注释文本位置。text:注释文本内容。angel:注释文本旋转角度。273图表辅助参数设置——注释箭头的设置注释箭头是通过annotation中的Arrow进行调用的。Arrow常见参数如下:x_start,y_start,x_end,y_end:箭头矢量方向。start,end:arrow_head的实例。其中arrow_head中包含有三种常见的箭头类型:'OpenHead'、'NormalHead'、'VeeHead'283图表辅助参数设置——调色板的设置在Bokeh中,也有着类似seaborn中的调色板的存在,具体可参考官方文档。调色板通过palettes进行调用。我们可以通过'palettes.__palettes__'查看所有的调色板。293图表辅助参数设置——调色板的设置如果我们想调用某个调色板,还需要调用brewer对调色板进行解析,并选择解析后的颜色数量。可以看到,我们在这里使用了'Reds'这个调色板,并根据圆形的数量,将该调色板解析成三个颜色。303图表辅助参数设置——调色板的设置我们还可以直接查看解析后的颜色有哪些:直接通过解析整个调色板,去查看对于该调色板最多可以使用多少个颜色。同样以'Reds'这个调色板为例运行结果的含义是,对于'Reds'这个调色板而言,若解析成三个颜色,这三个颜色分别为'#de2d26'、'#fc9272'、'#fee0d2'。而对于第二段运行结果,我们可以看到,是由好几个类似字典的结构组成,其中左边的数字,就是解析的颜色数量,右边则为对应的颜色。可以看到,'Reds'这个调色板最多可以解析出256个颜色。31基本图形绘制4.324基本图形绘制在学习了这么多基本参数和辅助参数后,我们应该对如何使用Bokeh有了大概的印象,接下来就开始学习绘制一些基本图形。334基本图形绘制——散点图Bokeh中的散点图,除了前面见过的circle,还有12种散点样式。344基本图形绘制——散点图这些函数的参数大同小异,我们以diamond为例。diamond常见参数如下:x,y:离散点的x坐标和y坐标,列名或者列表。size:离散点的大小,默认值为4。angle:离散点旋转角度,默认值为0.0。source:Bokeh专属数据格式。354基本图形绘制——散点图如果我们想绘制不同颜色的散点图,有以下两种方法:专门设置一列颜色的数据364基本图形绘制——散点图2.遍历数据分开做图374基本图形绘制——折线图一条折线的折线图绘制起来比较简单,直接通过line就可以执行。line的常见参数如下:x,y:x坐标和y坐标,列名或者列表。line_alpha:线条颜色的透明度。line_color:线条的颜色。line_dash:设置线条样式,可选值有'solid'、'dashed'、'dotted'、'dotdash'、'dashdot'。单线图我们还可以在这个折线图的基础上增加散点图,突出每个坐标点的位置。384基本图形绘制——折线图多线图如果我们想绘制有多条折线的折线图,有以下两种方式实现。(1)multi_line:在Bokeh中,专门有个函数multi_line可以用于绘制多条折线的折线图,与line传入的参数有所差异,multi_line传入的x和y是多个列表。394基本图形绘制——折线图(2)

多个line:我们还可以在一个figure上绘制多个line,也可实现多条折线的效果。多线图404基本图形绘制——饼状图饼图在Bokeh中通过函数wedge绘制饼状图。wedge常见参数如下:x,y:圆心的x轴坐标和y轴坐标。radius:圆的半径。start_angle:起始角度。end_angle:终止角度。direction:起止方向,默认参数为'anticlock'(逆时针)。绘制的过程相对折线图和散点图复杂一点,我们需要先将各个类别的占比计算出来,才能绘制出饼状图414基本图形绘制——饼状图环形图如果我们想绘制环形图,则需要调用annular_wedge。其常见参数如下:x,y:圆环圆心的x轴坐标和y轴坐标。inner_radius:内环的半径。outer_radius:外环的半径。start_angle:起始角度。end_angle:终止角度。direction:起止方向,默认参数为'anticlock'(逆时针)424基本图形绘制——面积图一般面积图对于一般面积图而言,所有的数据都是从相同的零轴开始的。我们在这里可以运用之前介绍的注释箭头,以便理解面积图的绘制过程。首先从点(1,6)出发,再分别到点(2,7)、(3,2)、(2,2),最后回到点(1,6),并将该过程形成的区域用设定的color进行填充,完成面积图的绘制。434基本图形绘制——面积图堆叠面积图我们在了解到面积图的绘制过程后,就可以利用一般面积图来绘制层叠面积图444基本图形绘制——柱状图单系列柱状图——纵向柱形图在Bokeh中,我们通过vbar绘制纵向柱形图;通过hbar绘制横向柱形图。vbar常用参数如下:x:横轴坐标。width:宽度。top:底高度。bottom:顶高度。454基本图形绘制——柱状图单系列柱状图——横向柱形图hbar与vbar的常用参数十分类似,具体如下:y:纵轴坐标。height:厚度。left:左边最小值。right:右边最大值。464基本图形绘制——柱状图多系列柱状图我们通常将柱形图从类别的维度分为单系列柱形图和多系列柱形图,上述介绍的都是单系列柱形图,我们还可以根据数据集绘制多系列柱形图,并按颜色进行区分。474基本图形绘制——柱状图我们还可以调用类似seaborn中的dodge参数,对数据再进行分组多系列柱状图484基本图形绘制——柱状图多系列柱状图——堆叠柱状图如果我们想绘制堆叠柱形图,则需要调用vbar_stack或hbar_stack函数494基本图形绘制——柱状图多系列柱状图——堆叠柱状图我们还可以对数据集中的数据进行加工,用于绘制百分比堆叠柱形图,但是前期的数据处理工作可能会有一点麻烦。504基本图形绘制——直方图在Bokeh中,通过调用quad函数绘制直方图,且传入的参数是每个柱子的四边值。514基本图形绘制——矩形图最后我们介绍一下矩形图,不同于面积图,矩形图传入的为每个矩形的几何中心的坐标。常见的矩形图有:square、square_cross、square_dot、square_pin和square_x。52图表进阶操作5.535图表进阶操作在学习了前面所讲的很多基本操作后,我们就已经可以通过排列组合绘制出非常多的图形了,但对于一些复杂的图形,可能需要更多地用到本章所讲的进阶操作。545图表进阶操作——ColumnDataSource在上述的绘图过程中,我们用到了ColumnDataSource这个数据形式。ColumnDataSource是Bokeh中一种非常独特且很实用的数据形式ColumnDataSource()方法有一个参数为'data'。'data'主要有以下三种类型:1.'data'为字典当'data'的表现形式是一个字典的形式时,一般情况下,字典的key值是一个字符串,代表列名称,而value则是list形式或者numpy的array形式从上面结果来看,source是一个

ColumnDataSource对象,不能直接打印出来结果,但可以在绘图时直接传入参数进行使用。555图表进阶操作——ColumnDataSourceColumnDataSource的data参数,也可以是pandas的DataFrame。当ColumnDataSource的参数是DataFrame时,可以直接用DataFrame的列名称作为索引名称,也可以直接用DataFrame已有的列名称,如果没有索引名称,则索引名称一般默认用‘index’。2.'data'为DataFrame565图表进阶操作——ColumnDataSourceColumnDataSource的data参数,还也可以是pandas的DataFrame的groupby对象。当ColumnDataSource的参数是DataFrame的groupby对象时,在绘图时使用的列名为groupby对象的groupby.describe()方法中的列名称。由于groupby会有多个统计参数,在引用时,列表会合并到一起,形式如column_mean等。3.'data'为DataFrame中的GroupBy对象这样我们在绘图时可以直接使用groupby.describe()方法中的列名称575图表进阶操作——轴线的进阶设置有时我们的数据集并不完全是数字类型,可能需要x轴是类别变量,可能x轴是时间序列,也可能y轴会是其他类型的数据。这时,就需要另外对轴线进行设置。585图表进阶操作——轴线的进阶设置x轴的进阶设置我们首先要对数据集本身格式进行修改当数据构建好了后,再通过x_range设置横轴标签,就可以实现x轴标签的字符串设置了595图表进阶操作——轴线的进阶设置y轴的进阶设置当一组数据的最大值最小值相差过大时,我们可以考虑使用对数法,那么如何在y轴中体现对数呢?可以通过修改y轴的axis_type,设置对数坐标轴605图表进阶操作——多图表设置1.多次调用不同的Figure我们可以多次调用不同的Figure,将多个图表显示在一起。如果我们想在一个Figure上显示多个图表,有以下两种方法:615图表进阶操作——多图表设置2.调用gridplot模块可能有细心的同学发现,通过多个figure绘制出来的图形,不能一起联动,如果想要一起联动的话,就需要调用gridplot模块。62工具栏设置6.636工具栏设置与matplotlib和seaborn相比,Bokeh的工具栏是非常独特的一个功能,我们可以利用工具栏移动图形,筛选数据,有着很多实用的功能。接下来我们就来学习一下Bokeh中工具栏的简单使用。646工具栏设置——工具栏位置设置工具栏的位置参数通过toolbar_location参数进行控制,可选参数有'above'、'below'、'left'、'right',默认参数为'right'。如果我们设置工具栏位置为'above'时,可以增加设置toolbar_sticky参数为true,使得toolsbar不被遮挡656工具栏设置——工具栏功能设置常见的工具栏功能可以分为一下几类:移动、放大缩小、保存、刷新、选择、提示框和十字线,且在设定功能后,会默认激活所设置的第一个功能。666工具栏设置——工具栏功能设置移动移动功能又可分为全局移动、沿x轴移动和沿y轴移动三种。由此可见,我们在tool中设置的第一个功能为xpan,运行后该功能是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论