zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然python学习笔记:python用 Bokeh 模块绘制我国 GDP 数据统计图

    现在我们把我国 1990 年到 2017 年的 GDP 数据抓取出
    来,井用 Bokeh 绘 出散点统计图 。
    由网页爬取所需数据,并用 Bokeh 绘制散点图 。
    import requests    #导入网页内容抓取包
    import matplotlib.pyplot as plt   #导入绘图模块,重命名为plt
    
    from bokeh.plotting import figure, show, output_file
    from bs4 import BeautifulSoup as bs  #导入网页解析模块,重命名为bs
    
    output_file("sdt.html")
    year = []    #横坐标列表
    gdp = []   #纵坐标列表
    url = "http://value500.com/M2GDP.html"   #设置要在哪个网页抓数据
    content = requests.get(url)   #获取网页内容
    content.encoding='utf-8'    #转为utf-8编码
    content1=content.text  #取得网页内容的text部分
    parse = bs(content1,"html.parser") #进行html解析
    data1 = parse.find_all("table")  #获取所有表元素
    rows = data1[19].find_all("tr") #取出包含所需数据的表(网页第20个表)
    i=0                             #为了不读取表头数据,设置此控制变量
    for row in rows:
        cols = row.find_all("td")  #把每一行表数据存入cols变量
        if(len(cols) > 0 and i==0):  #如果是第一行,则控制变量加1
            i+=1
        else:                       #如果不是第一行,则写入绘图列表
            year.append(cols[0].text[:-2])  #取得年份数据(数据的最后两个字符不是数据需去除)并写入图形的year轴
            gdp.append(cols[2].text)     #把gdp值存入gdp轴
    
    p = figure(width=800, height=400, title="1990~2017年度我国GDP")    #在浏览器生成画图区域
    # p.title_text_font_size = "20pt" #设置字体大小为20
    p.xaxis.axis_label = "年度"  #设置x轴标题
    p.yaxis.axis_label = "GDP(亿元)"   #设置y轴标题
    p.circle(year,gdp, size=6) # 圆点显示,点的大小为6
    show(p)  #显示图形
    
    print(year)
    print(gdp)

     

  • 相关阅读:
    dom4j读写XML文件
    Spring的javaMail邮件发送(带附件)
    PayPal网站付款标准版(for PHP)
    SpringMVC整合TaskExecutor线程池的配置/使用
    SELECT INTO和INSERT INTO SELECT(SQL Server)
    java简单的数据库查询(SQLServer数据库)
    oracle导入TYPE对象报错ORA-02304
    mysql将字符串转化为数字
    asp.net应用发布到IIS无法链接到oracle数据库
    使用js获取数组中最大、最小的数字
  • 原文地址:https://www.cnblogs.com/tszr/p/12028647.html
Copyright © 2011-2022 走看看