折線圖主要是用來呈現連續性的變化,也就是趨勢,利用線條斜率的改變,讓人短時間內取得長期變化的資訊。
在這基本概念下利用python的Plotly套件來繪製基本款折線圖。
操作步驟
1.選定主題,準備素材
以口腔癌症歷年標準化發生率為例(資料來源為整理衛生署開放資料),來看不同性別的發生率趨勢。開始執行前,尚未安裝plotly者需要先安裝plotly套件,在Window環境下,開起命令提示字元,輸入pip install plotly,安裝完成後,就可進入繪圖步驟。
2.確認繪圖需要用到的參數:
X軸(x): 年份(西元年)
Y軸(y): 標準化發生率(每十萬人口)
3.繪製堆疊長條圖
操作時每一個分層要各別建構(例如:分別呈現男女的發生率),再把各分層的圖層結合成一張圖。
- import plotly.graph_objs as go
- import plotly.offline as py
- #分層為男性
- trace0 = go.Scatter(
- x = df['year'],
- y = df['Male'],
- name = 'Male',
- line = dict(
- color = ('#1B813E'),
- width = 4, #設定線條寬度)
- )
- #分層為女性
- trace1 = go.Scatter(
- x = df['year'],
- y = df['Female'],
- name = 'Female',
- line = dict(
- color = ('#86C166'),
- width = 4)
- )
- data = [trace0, trace1]
- layout = dict(title = '口腔癌標準化發生率', titlefont=dict(family='Courier New, monospace', size=22, color='#7f7f7f'),
- xaxis = dict(title = '年',titlefont=dict(size=18)),
- yaxis = dict(title = '標準化發生率(每十萬人口)',titlefont=dict(size=18)),
- )
- fig = dict(data=data, layout=layout)
- py.plot(fig, filename='styled-line')
4.補充說明
有可能會遇到線條需要以需現呈現之情況,這部分也可以做設定,以下以trace0圖層為例
- trace0 = go.Scatter(
- x = df['year'],
- y = df['Male'],
- name = 'Male',
- line = dict(
- color = ('#1B813E'),
- width = 4,
- dash = 'dot')
- )
留言
張貼留言