可视化

可视化

选择填空

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ViU3yFJ2-1610202896444)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109220732123.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hTc84SKn-1610202896446)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109220740081.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FsbbmByv-1610202896447)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109220747287.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1HInZjmy-1610202896449)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109220752376.png)]

pandas存储和读写参考:https://blog.csdn.net/weixin_40041218/article/details/79246883?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161020249216780273621306%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161020249216780273621306&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-79246883.pc_search_result_cache&utm_term=pandas%E8%AF%BB%E5%86%99%EF%BC%8C%E5%AD%98%E5%82%A8

1、Matplotlib

第一个Python可视化库,有许多别的程序库都是建立在其基础上或者直接调用该库,可以很方便地得到数据的大致信息,功能非常强大,但也非常复杂。

2、Seaborn

利用了Matplotlib,用简洁的代码来制作好看的图表。与Matplotlib最大的区别为默认绘图风格和色彩搭配都具有现代美感。

3、ggplot2

基于R的一个作图库ggplot2,同时利用了源于《图像语法》(The Grammar of Graphics)中的概念,允许叠加不同的图层来完成一幅图,并不适用于制作非常个性化的图像,为操作的简洁度而牺牲了图像的复杂度。

4、Bokeh

跟ggplot一样,Bokeh也基于《图形语法》的概念。与ggplot不同之处为它完全基于Python而不是从R处引用。长处在于能用于制作可交互、可直接用于网络的图表。图表可以输出为JSON对象、HTML文档或者可交互的网络应用。

5、pygal

与Bokeh和Plotly一样,提供可直接嵌入网络浏览器的可交互图像。与其他两者的主要区别在于可将图表输出为SVG格式,所有的图表都被封装成方法,且默认的风格也很漂亮,用几行代码就可以很容易地制作出漂亮的图表。

6、geoplotlib

用于制作地图和地理相关数据的工具箱。可用来制作多种地图,比如等值区域图、热度图、点密度图。必须安装Pyglet(一个面向对象编程接口)方可使用。

7、missingno

用图像的方式快速评估数据缺失的情况,可根据数据的完整度对数据进行排序或过滤,或者根据热度图或树状图对数据进行修正。

简答题

  1. series操作

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I1Hp8JgS-1610202896452)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222235324.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BujTVzS8-1610202896453)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222240696.png)]

    series创建

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tcni1F3r-1610202896454)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109221715722.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CdBeNrPT-1610202896455)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109221725423.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oVszAP4x-1610202896455)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109221737611.png)]

    加载访问

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nr1DhQ7d-1610202896456)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222401414.png)]

  2. dataframe

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MLA05TyY-1610202896457)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222107280.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fvD72MQm-1610202896457)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222112404.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3bUM9T3-1610202896458)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222116549.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pF9h7Apk-1610202896459)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222124490.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gUoqBSIh-1610202896459)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222129615.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cKcHQIam-1610202896460)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222135355.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FfrxPPUT-1610202896462)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222139953.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aUSdrKvP-1610202896463)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109222147725.png)]

  3. matplotlib

    绘图基本流程

    1. 创建画布与创建子图

    2. 添加画布内容

    3. 保存于展示图形

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9mn8TxH2-1610202896463)(C:\Users\chen5\AppData\Roaming\Typora\typora-user-images\image-20210109215723817.png)]

    • 折线图是一种将数据点按照顺序连接起来的图形。可以看作是将散点图,按照x轴坐标顺序连接起来的图形。折线图的主要功能是查看因变量y随着自变量x改变的趋势,最适合用于显示随时间(根据常用比例设置)而变化的连续数据。同时还可以看出数量的差异,增长趋势的变化。

    • 饼图是将各项的大小与各项总和的比例显示在一张“饼”中,以“饼”的大小来确定每一项的占比。饼图可以比较清楚地反映出部分与部分、部分与整体之间的比例关系,易于显示每组数据相对于总数的大小,而且显现方式直观。

    • 直方图又称质量分布图,是统计报告图的一种,由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据所属类别,纵轴表示数量或者占比。用直方图可以比较直观地看出产品质量特性的分布状态,便于判断其总体质量分布情况。直方图可以发现分布表无法发现的数据模式、样本的频率分布和总体的分布。

    • 箱线图也称箱须图,其绘制需使用常用的统计量,能提供有关数据位置和分散情况的关键信息,尤其在比较不同特征时,更可表现其分散程度差异。箱线图利用数据中的五个统计量(最小值、下四分位数、中位数、上四分位数和最大值)来描述数据,它也可以粗略地看出数据是否具有对称性、分布的分散程度等信息,特别可以用于对几个样本的比较。

    图形适用场景总结

    • 散点图:适用于分析特征间相关关系

    • 折线图:适用于分析特征间趋势关系

    • **饼状图:适用于分析特征内部数据分布(**比例)

    • **直方图:适用于分析特征内部数据分布(**数量)

    • 箱线图:适用于分析特征内部数据分散情况

  4. bokeh绘图步骤

    步骤一:准备数据

    步骤二:决定数据可视化的呈现位置output_file(‘filename.html’) # 生成一个静态HTML文件, output_notebook() # 在Jupyter Notebook中内联呈现

    步骤三:设置图形

    fig = figure() # 实例化一个 figure() 对象

    步骤四:连接并绘制数据

    步骤五:组织布局

    步骤六:预览和保存show(fig) # 查看已做的,并保存喜欢的

代码题

  1. bokeh

    1. 导包

      import numpy as np
      import pandas as pd
      import matplotlib.pyplot as plt
      %matplotlib inline
      from bokeh.plotting import figure,show      # 导入图表绘制、图表展示模块
      from bokeh.io import output_notebook        # 导入notebook绘图模块
      output_notebook()
      
    2. 绘制散点图

      ps:

      np.random.RandomState(1):当参数为常数时,生成的数据为恒定数据,这样每次我们生成的图表都是一样的;

      np.random.randn():以给定的形状创建一个数组,数组元素符合标准正态分布N(0,1) ; np.random.randint():生成在指定的半开半闭区间[low,high)上离散均匀分布的整数值; np.random.choice():从指定数列中随机选择值;

      rng = np.random.RandomState(1)
      df = pd.DataFrame(rng.randn(100,2)*100,columns = ['A','B'])
      
      
      df['size'] = rng.randint(10,30,100)      # 设置点大小字段
      df['color1'] = np.random.choice(['red', 'green', 'blue'], 100)     # 设置点的颜色
      
      print(df.head())    # 预览前5条数据
      
      # 创建绘图空间
      p = figure(plot_width=600, plot_height=400)
      p.circle(df['A'], df['B'],       # 设置散点图(x,y)值
               line_color = 'white',   # 设置点边线为白色
               fill_color = df['color1'],fill_alpha = 0.5,   # 设置内部填充颜色,这里用到了颜色字段
               size = df['size']       # 设置点大小,按照size的随机数去设置点的大小
              )
      
      show(p)
      

      img

    3. 绘制折线图

      # 导入ColumnDataSource模块:可以将dict、Dataframe、group对象转化为ColumnDataSource对象
      from bokeh.models import ColumnDataSource
      
      
      # 创建数据
      df = pd.DataFrame({'value':np.random.randn(100).cumsum()})
      df.index.name = 'index'
      
      # 转化为ColumnDataSource对象:这里注意了,index和columns都必须有名称字段
      source = ColumnDataSource(data = df)
      
      p = figure(plot_width=600, plot_height=400)
      # 绘制折线图
      p.line(x='index',y='value',source = source,          # 设置x,y值, source :指定数据源
             line_width=1, line_alpha = 0.8, line_color = 'black',line_dash = [10,4])   # 线型基本设置
      # 绘制折点
      p.circle(x='index',y='value',source = source, 
               size = 2,color = 'red',alpha = 0.8)
      
      show(p)
      

      img

  2. pyecharts

    1. 条形图

      • 单变量条形图

        bar = Bar("我的第一个图表", "这里是副标题")
        #bar=Bar("主标题","副标题")
        bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],[5, 20, 36, 10, 75, 90])
        #bar.add()
        bar
        
      • 双变量条形图

        attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
        v1 = [5, 20, 36, 10, 75, 90]
        v2 = [10, 25, 8, 60, 20, 80]
        bar = Bar("双变量垂直条形图","标记线和标记点示例")
        bar.add("商家A", attr, v1, mark_point=["average"])
        bar.add("商家B", attr, v2, mark_line=["min", "max"])
        #mark_point:添加点标记
        #mark_line:添加线标记
        #bar.render()
        bar
        
      • 水平条形图数据堆叠

        attr = ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
        v1 = [5,20,36,10,75,90]
        v2 = [10,25,8,60,20,80]
        bar = Bar("水平条形图数据堆叠示例")
        bar.add("商家A", attr, v1,is_stack=True,mark_point=['average'])
        bar.add("商家B", attr, v2,is_stack=True,is_convert=True)
        bar
        
    2. 折线图

      • from  pyecharts  import  Line
        attr =["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
        v1 =[5, 20, 36, 10, 10, 100]
        v2 =[55, 60, 16, 20, 15, 80]
        line =Line("折线图")
        line.add("商家A", attr, v1,mark_point=["max","min"])
        line.add("商家B", attr, v2,mark_line=["average"])
        #line.render()
        line
        
    3. 饼图

      • 饼图

        from pyecharts import Pie
        attr=["衬衫","羊毛衫","雪纺衫","裤子","帽子"]
        v1=[10,20,30,40,50]
        pie=Pie("产品销售")
        pie.add("z",attr,v1,is_label_show=True)
        pie.render()
        pie
        
      • 环图

        from pyecharts import Pie
        attr=["衬衫","羊毛衫","雪纺衫","裤子","帽子"]
        v1=[10,20,30,40,50]
        pie=Pie("产品销售-环形图",title_pos='center')
        pie.add("z",attr,v1,is_label_show=True,radius=[30,60],label_text_color=None,\
                legend_orient='vertical',legend_pos='right')
        #pie.render()
        pie
        

    概括

    条形图导包from pyecharts import Bar

    bar = Bar(“主标题”, “副标题”)

    bar.add(变量名,名称,值) ps:可以先将数据存储到列表里

    在add中添加参数:

    ​ mark_point=[“min”,“max”,“average”]:添加点标记
    ​ mark_line=[“min”,“max”,“average”]:添加线标记

    ​ is_stack=True:多个变量同时为true才会堆叠

    ​ is_convert=True:调换x,y轴,在画图时,只需将最后一个条形图倒置即可

    bar直接显示图表

    bar.render()生成本地html文件

    折线图导包from pyecharts import Line

    同条形图

    饼图导包from pyecharts import Pie

    在add中添加参数:

    ​ is_label_show= True:显示数据项信息

    ​ radius=[30,60]:饼图半径

    ​ label_text_color:标签文本颜色

    ​ legend_orient=‘vertical’:图例显示方向

    ​ legend_pos=[“百分比”,‘left’, ‘center’, ‘right’]:距离左边距离

    ​ legend_top=[“百分比”,‘left’, ‘center’, ‘right’] :距离上边的位置

ine

同条形图

饼图导包from pyecharts import Pie

在add中添加参数:

​ is_label_show= True:显示数据项信息

​ radius=[30,60]:饼图半径

​ label_text_color:标签文本颜色

​ legend_orient=‘vertical’:图例显示方向

​ legend_pos=[“百分比”,‘left’, ‘center’, ‘right’]:距离左边距离

​ legend_top=[“百分比”,‘left’, ‘center’, ‘right’] :距离上边的位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值