2020年12月20日 星期日

用pyecharts套件來繪製百香果交易行情圖

資料來源:https://amis.afa.gov.tw/fruit/FruitProdDayTransInfo.aspx

查詢日期:109/12/20

查詢結果:


設計程式:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from pyecharts.charts import Bar
from pyecharts import options as opts

bar = (
    Bar()
    .add_xaxis(["台北二", "台北一", "板橋區", "三重區", "宜蘭市", "桃農","台中市", "嘉義市", "高雄市", "鳯山區"])
    .add_yaxis("其他", [32.5, 47.8, 0, 25.5, 0, 0, 30.0, 0, 0, 0, 0])
    .add_yaxis("改良種", [34.9, 28.8, 20.0, 25.5, 30.0, 15.7, 39.8, 35.0, 39.0, 25.4])
    .set_global_opts(title_opts=opts.TitleOpts(title="百香果交易行情(109/12/20)"))
)
bar.render()

執行結果:

增加爬蟲功能之程式:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import requests
import json
r = requests.get('https://data.coa.gov.tw/Service/OpenData/FromM/FarmTransData.aspx')
text = json.loads(r.text)
X=[]
Y1=[]
Y2=[]
for row in text:
    if '百香果-其他' in row['作物名稱']:
        if row['市場名稱'] in X:
            Y1[X.index(row['市場名稱'])]=row['平均價']
        else:
            X.append(row['市場名稱'])
            Y1.append(row['平均價'])
            Y2.append(0)
    if '百香果-改良種' in row['作物名稱']:
        if row['市場名稱'] in X:
            Y2[X.index(row['市場名稱'])]=row['平均價']
        else:
            X.append(row['市場名稱'])
            Y1.append(0)
            Y2.append(row['平均價'])
from pyecharts.charts import Bar
from pyecharts import options as opts

bar = (
    Bar()
    .add_xaxis(X)
    .add_yaxis("其他", Y1)
    .add_yaxis("改良種", Y2)
    .set_global_opts(title_opts=opts.TitleOpts(title="百香果交易行情(109/12/20)"))
)
bar.render()

執行結果:
同上

Python其他pyecharts相關套件:https://github.com/ecomfe/awesome-echarts#python

沒有留言:

張貼留言