正文
吴裕雄--天生自然python学习笔记:python用 Bokeh 模块绘制我国 GDP 数据统计图
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
现在我们把我国 1990 年到 2017 年的 GDP 数据抓取出
来,井用 Bokeh 绘 出散点统计图 。
由网页爬取所需数据,并用 Bokeh 绘制散点图 。
import requests #导入网页内容抓取包
import matplotlib.pyplot as plt #导入绘图模块,重命名为pltfrom bokeh.plotting import figure, show, output_file
from bs4 import BeautifulSoup as bs #导入网页解析模块,重命名为bsoutput_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)