1. 程式人生 > >PYTHON筆記第七章

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)