PYTHON笔记第七章

import matplotlib.pyplot as plt #导入绘图库并重命名为PLT
listx1=[1,5,7,9,13,16]#定义X坐标列表
listy1=[15,50,80,40,70,50]#定义Y坐标列表
plt.plot(listx1,listy1,label="Male")#用X,Y坐标表画图(第一条折线),标签是MALE
listx2=[2,6,8,11,14,16]#定义X坐标列表
listy2=[10,40,30,50,80,60]#定义Y坐标列表
plt.plot(listx2,listy2,color="red",linewidth=5.0,linestyle="--",label="Female")
#用两个坐标列表,颜色是红色,线宽是5像素,样式是虚线,标签是女性
plt.legend()#传奇,这里是指图例
plt.xlim(0,20)#X的限制
plt.ylim(0,100)#Y的限制
plt.title("Pocket Money")#标题
plt.xlabel("Age")#X坐标标签
plt.ylabel("Money")#Y坐标标签
plt.show()#显示图列
from bokeh.plotting import figure,show
p=figure(width=800,height=400,title="pockit money")#定义图例尺寸及标题
#p.title_text_font_size="18pt"
p.xaxis.axis_label="x"#定义X坐标的标签
p.yaxis.axis_label="y"#定义Y坐标的标签
listx=[1,5,7,9,13,16]#定义X坐标列表
listy=[15,50,80,40,70,50]#定义Y坐标列表
sizes=[10,20,30,30,20,10]#定义尺寸列表
colors=["red","blue","green","pink","violet","gray"]#定义颜色列表
#sizes=25,单色也是可以的
#colors="red",单色也是可以的
p.circle(listx,listy,size=sizes,color=colors,alpha=0.5)#画圆(坐标,大小,颜色,透明度)
show(p)#显示,这里会打开默认浏览器
from bokeh.plotting import figure,show
p=figure(width=800,height=400)#定义图例
listx=[1,5,7,9,13,16]#定义X坐标列表
listy=[15,30,50,60,80,90]#定义Y坐标列表
p.line(listx,listy)#连线
show(p)#画图

import matplotlib.pyplot as plt
listx=[1,5,7,9,13,16]#定义X坐标列表
listy=[15,50,80,40,70,50]#定义Y坐标列表
plt.plot(listx,listy)#静态方法:由两个坐标列表画图
plt.show()#静态方法:画图
import matplotlib.pyplot as plt
import requests
from bs4 import BeautifulSoup as bs

year=[]
gdp=[]
url="http://value500.com/M2GDP.html"#定义网址
content=requests.get(url)#获得HTML文件
content.encoding='utf-8'#定义编码方式
content1=content.text#获得文本内容
parse=bs(content1,"html.parser")#解释拆成结构体
data1=parse.find_all("table")#在结构体中找到所有TABLE标签的内容打入列表
rows=data1[19].find_all("tr")#在第19个内容中找到所有TR标签的内容打入列表
i=0
for row in rows:#逐行遍历
    cols=row.find_all("td")#找出本行中含TD的串
    if(len(cols)>0 and i==0):#如果这个串长非空且第一次进来,I变1
        i+=1#因为第一个非空行是指导性内容
    else:#之后的内容
        year.append(cols[0].text[:-2])#往列表里压入此元组第1个属性值至倒数第三个字符(即最后两个字符不要)
        gdp.append(cols[2].text)#往列表里压入此元组第3个属性值
plt.plot(year,gdp,linewidth=2.0)#静态画图方法传入X,Y列表及线宽
plt.title("1990~2016 GDP in China")#设标题
plt.xlabel("year")#设X标签
plt.ylabel("GDP(亿元)")#设Y标签
plt.show()#绘制
import matplotlib.pyplot as plt

listx1=[1,5,7,9,13,16]#X
listy1=[15,50,80,40,70,50]#Y
plt.bar(listx1,listy1,label="Male")#bar表示柱形图,XY列表与标签
listx2=[2,6,8,11,14,16]#X
listy2=[10,40,30,50,80,60]#Y
plt.bar(listx2,listy2,color="red",label="Female")#柱形图,XY列表,颜色,标签
plt.legend()#绘制
plt.xlim(0,20)#X范围
plt.ylim(0,100)#Y范围
plt.title("Pocket Money")#标题
plt.xlabel("Age")#X标签
plt.ylabel("Money")#Y标签
plt.show()#显示
import matplotlib.pyplot as plt

labels=["east","south","north","middlaxise"]#定义标签列表
sizes=[7,10,20,15]#定义尺寸
colors=["red","green","blue","yellow"]#定义颜色列表
explode=(0,0,0.05,0)#数值的大小是分割出来的与其他两块的间隙,输出结果可以看到下面那块较邻块有空隙
plt.pie(sizes,explode=explode,labels=labels,colors=colors,\
        labeldistance=1.1,autopct="%3.1f%%",shadow=True,\
        startangle=90,pctdistance=0.6)
#传入尺寸,爆炸参数,标签,颜色
#传入标签距离(文本的位置离远点有多远,1.1指1.1倍半径的位置),精度3.1f总三位,小数点后1位,阴影
#开始角度,百分比text离圆心距离
plt.axis("equal")#轴线,均等即正圆,默认是椭圆
plt.legend()#绘制
plt.show()#显示

from bokeh.plotting import figure,show
import requests
from bs4 import BeautifulSoup as bs
year=[]
gdp=[]
url="http://value500.com/M2GDP.html"
#1\测试是否读入含table
print(requests.get(url).text)
#1/结果是根本没有读入table的数值
content=requests.get(url).text.encode('utf-8')
parse=bs(content,"html.parser")#格式化
#2\print(parse)
print(parse)
#2/这一句输出发现根本就没有!
data1=parse.find_all("table")#找出所有有表格
#3\这里data1读到的值是【】空!所以后面数组就越界了
rows=data1[19].find_all("tr")#其中第20个表是需要的
i=0
for row in rows:
    cols=row.find_all("td")
    if(len(cols)>0 and i==0):
        i+=1
    else:
        year.append(cols[0].text[:-2])
        gdp.append(cols[2].text)
p=figure(width=800,height=400,title="1990~2016 GDP in China")
p.xaxis.axis_label="year"
p.yaxis.axis_label="GDP(亿元)"
p.circle(year,gdp,size=6)
show(p)

猜你喜欢

转载自blog.csdn.net/cj1064789374/article/details/84866960