1. #coding:utf-8
    import numpy as np
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    import pandas as pd
    from pandas import Series,DataFrame
  2.  
  3. '''
    plt.scatter(x,y)
    plt.show()
  4.  
  5. plt.bar(x,y,width=0.3,color='y')
    plt.bar(x+0.3,y2,width=0.3,color='y')
    plt.bar(x,y2,width=0.3,color='y',bottom=y)
  6.  
  7. plt.pie(x=x,labels=y,...)
    plt.show()
  8.  
  9. plt.boxplot(data,sym='o',whis=0.05)
    plt.boxplot(data,labels=labe)
    plt.show()
    '''
    data_train=pd.read_csv(r'C:\python\demo\ML\data\TravelRecords0708.csv',encoding='gbk')
    title ='(2017.07-2017.08)'
    #print(data_train.loc[:,['Name','Team','TravelDays','RequesterAddress']])
    def tongjiByName():
  10.  
  11. fig = plt.figure()
    fig.set(alpha=0.2) # 设定图表颜色alpha参数
  12.  
  13. #plt.subplot2grid((2, 3), (0, 0)) # 在一张大图里分列几个小图
    data_train.Name.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
    plt.title(u"DB出差同事出差次数情况统计"+title) # puts a title on our graph
    plt.ylabel(u"出差次数")
    plt.text(20,4.5,u'出差总次数(次):')
    plt.text(25, 4.5, data_train.Name.value_counts().values.sum())
    plt.text(20,4.0,u'出差总人数(个):')
    plt.text(25, 4.0, len(data_train.Name.value_counts()))
    plt.text(20,3.5,u'出差总天数(天):')
    plt.text(25, 3.5, data_train.TravelDays.values.sum())
    print(data_train.TravelDays.values.sum())
    plt.show()
  14.  
  15. def tongjiByteam():
    fig = plt.figure()
    fig.set(alpha=0.2) # 设定图表颜色alpha参数
  16.  
  17. #plt.subplot2grid((2, 3), (0, 0)) # 在一张大图里分列几个小图
    data_train.Team.value_counts().plot(kind='pie') # plots a bar graph of those who surived vs those who did not.
    #data_train.Team.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
    print(data_train.Team.value_counts())
  18.  
  19. plt.title(u"深圳马会各team出差人数统计情况(2017.07-08)") # puts a title on our graph
    plt.text(5.5,10.5,u'出差总人数(次):')
    plt.text(6.8, 10.5, data_train.Team.value_counts().values.sum()) #统计series的value 总和
    #plt.text(5.5, 9.5, u'出差team数(个):')
    #plt.text(6.8, 9.5, len(data_train.Team.value_counts().index)) #统计series的index 总和
    #plt.ylabel(u"出差人数")
    plt.show()
  20.  
  21. def tongjiByteamPIE():
    fig = plt.figure()
    fig.set(alpha=0.2) # 设定图表颜色alpha参数
  22.  
  23. labels=data_train.Team.value_counts().index
    explode = [0, 0.5,0,0,0,0,0,0,0,0,0,0] # 0.1 凸出这部分,
    plt.pie(x=data_train.Team.value_counts(),labels=labels,autopct='%3.1f %%',shadow=True,labeldistance=1.1,startangle=90,pctdistance=0.6)
  24.  
  25. plt.title(u"DB各team出差人数统计情况"+title) # puts a title on our graph
    plt.text(5.5,10.5,u'出差总人数(次):')
    plt.text(6.8, 10.5, data_train.Team.value_counts().values.sum()) #统计series的value 总和
    plt.show()
  26.  
  27. def tongjiByTravelDays():
    fig = plt.figure()
    fig.set(alpha=0.2) # 设定图表颜色alpha参数
  28.  
  29. #plt.subplot2grid((2, 3), (0, 0)) # 在一张大图里分列几个小图
    data_train.TravelDays.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
    #data_train.Team.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
    print(data_train.Team.value_counts())
  30.  
  31. plt.title(u"DB各team出差时长统计情况"+title) # puts a title on our graph
    plt.text(2.5,30.5,u'出差人次(人):')
    plt.text(3.8, 30.5, data_train.TravelDays.value_counts().values.sum()) #统计series的value 总和
    plt.text(2.5, 25.5, u'出差时长种类(类):')
    plt.text(3.8, 25.5, len(data_train.TravelDays.value_counts().index)) #统计series的index 总和
  32.  
  33. plt.text(2.5, 20.5, u'出差时长最长天数(天):')
    plt.text(3.8, 20.5, data_train.TravelDays.values.max()) #统计series的index 总和
    print(data_train.TravelDays.values.max())
    plt.ylabel(u"出差人数")
    plt.xlabel(u"出差天数")
    plt.show()
  34.  
  35. def tongjiByRequestAddress():
    fig = plt.figure()
    fig.set(alpha=0.2) # 设定图表颜色alpha参数
  36.  
  37. #plt.subplot2grid((2, 3), (0, 0)) # 在一张大图里分列几个小图
    #data_train.RequesterAddress.value_counts().plot(kind='pie') # plots a bar graph of those who surived vs those who did not.
    #data_train.Team.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
    labels='HK','SZ'
    explode = [0, 0.2] # 0.1 凸出这部分,
    plt.pie(x=data_train.RequesterAddress.value_counts(),labels=labels,autopct='%1.1f %%',shadow=True,labeldistance=1.1,startangle=90,pctdistance=0.6)
    print(data_train.RequesterAddress.value_counts())
  38.  
  39. plt.title(u"DB同事出差邀请(香港/深圳)统计情况"+title) # puts a title on our graph
    plt.show()
  40.  
  41. #tongjiByName()
    #tongjiByteam()
    tongjiByteamPIE()
    #tongjiByTravelDays()
    #tongjiByRequestAddress()

Pandas.plot 做图 demo(scatter,bar,pie)的更多相关文章

  1. Pandas plot出图

    1.创建一个Series 这是一个线性的数据,我们随机生成1000个数据,Series 默认的 index 就是从0开始的整数,但是这里我显式赋值以便让大家看的更清楚 >>> imp ...

  2. python做图笔记

    1. 工具选择 了解了基本python,rodeo,anaconda套件这三种工具. (1)基本python,下载安装python的最新版(目前是python3.7).注意要使用安装版.安装好后,一般 ...

  3. Qt+ECharts开发笔记(四):ECharts的饼图介绍、基础使用和Qt封装百分比图Demo

    前言   前一篇介绍了横向柱图图.本篇将介绍基础饼图使用,并将其封装一层Qt.  本篇的demo使用隐藏js代码的方式,实现了一个饼图的基本交互方式,并预留了Qt模块对外的基础接口.   Demo演示 ...

  4. QiniuUpload- 一个方便用七牛做图床然后插入markdown的小工具

    最近一段时间有用markdown做笔记,其他都好,但是markdown插入图片挺麻烦的,特别是想截图之后直接插入的时候.需要首先把图片保存了,然后还要上传到一个地方生成链接才能插入.如果有个工具可以直 ...

  5. 超级简单的jquery轮播图demo

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. win10 uwp 使用 asp dotnet core 做图床服务器客户端

    原文 win10 uwp 使用 asp dotnet core 做图床服务器客户端 本文告诉大家如何在 UWP 做客户端和 asp dotnet core 做服务器端来做一个图床工具   服务器端 从 ...

  7. pandas知识点脑图汇总

    参考文献: [1]Pandas知识点脑图汇总

  8. matplotlib 做图通过弹出窗口展示 spyder

    tools =>preferences=>Ipython console=>Graphics Graphics backend 中Backend 由Inline改为 Automati ...

  9. 用 GraphScope 像 NetworkX 一样做图分析

    NetworkX 是 Python 上最常用的图分析包,GraphScoep 兼容 NetworkX 接口.本文中我们将分享如何用 GraphScope 像 NetworkX 一样在(大)图上进行分析 ...

随机推荐

  1. 使用Nexus搭建Maven内部服务器

    概述         我们在使用maven时,一般通过网络上一些公共的maven仓库来获取jar包,但是有时候会碰到网速比较慢的情况就比较郁闷,Nexus是一个maven的服务器,可以让我们搭建一个本 ...

  2. thinkphp日志分析

    #!/usr/bin/perl -w use strict; use warnings; use Tie::File; #### # Thinkphp日志分析 # 日志基本格式:{$now} &quo ...

  3. rsync的基本使用

    1,本地同步文件: rsync -avz --delete /home/ /backups/ 注意:在指定复制源时,路径是否有最后的 “/” 有不同的含义,例如: /home: 表示将整个 /home ...

  4. API设计原则

    译序 Qt的设计水准在业界很有口碑,一致.易于掌握和强大的API是Qt最著名的优点之一.此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结.虽然Qt用的是C++,但其中设计原则和 ...

  5. systemd自启动java程序

    一.背景条件 1. Linux系统是Debian 8 2. Java程序是test.jar,安装路径是/home/test/test.jar 二.编写java的启动脚本 startTest.sh #! ...

  6. android中碰撞屏幕边界反弹问题

    其实碰撞问题只是涉及到一点小算法而已,但在实际应用,尤其游戏中有可能会遇到,下面给出一个小示例,代码如下: MainActivity: package com.lovo; import android ...

  7. 将逗号分隔的字符串与List互转

    将逗号分隔的字符串与List互转 方法 1: 利用JDK的Arrays类String str = "a,b,c";List<String> result = Array ...

  8. nginx 读取文件 permission denied

    nginx 是在root用户下安装的,静态网页的目录/var/www/html/ 目录下的内容所有者也是root 用户,按照 nginx配置文件中location说明 配置静态文件访问地址. 使用网址 ...

  9. springcloud中服务组策与发现eureka

    1 Eureka 是什么 Eureka是netflix的一个子模块,只需要使用服务的标志符,就可以访问到服务,而不需要修改服务调用的配置文件.功能类似于Dubbo的注册中心,比如Zookeeper. ...

  10. 使用NPOI 转换Excel TO HTML (导出格式不如原生Excel好看)

    //HSSFWorkbook workbook = ExcelToHtmlUtils.LoadXls(strPath); //ExcelToHtmlConverter excelToHtmlConve ...