Python

【Plotlyで複数の折れ線グラフを作成する方法】過去10年間のコーヒー生豆輸入量推移

本記事では日本における世界各国からのコーヒー豆の輸入金額・輸入量についてまとめました。

データは財務省貿易統計から取得したものです。

財務省で扱っている検索で必要となるコーヒーの品名コードについてはこちらに載っているので興味のある方はどうぞ。

使用したCSVデータを表示

↓CSVデータの編集とplotlyへの取り込みはこちらの記事で紹介しています

【CSVデータのグラフ化にはPlotlyとPythonが便利】気象データの散布図を作成する例 本記事ではCSVデータからグラフ化するフリーソフトの一つであるPlotlyについてCSVのデータを微調整してグラフ化する簡単な例を紹介...

過去10年の輸入量推移

縦軸はkgの単位です。M=10の6乗なので最大で16,000tとなります。

南米諸国が多く、特にブラジル豆が圧倒的にシェアを占めています。

それもここ10年はあまり変化がないようです。

意外にもアフリカからの輸入はそれほどない。

アジアで顕著なのがインドネシアが年々減少傾向な点、

ベトナムがここ10年で勢いよく上がってきた点です。

しかし、近年は増減を繰り返しているのでここまでといった感じ。

pythonコード(過去10年の輸入量推移)

import plotly.figure_factory as ff
import plotly.graph_objects as go
import pandas as pd
import numpy as np
from plotly.subplots import make_subplots
 
df = pd.read_csv('beans-2019.csv')

cname1='ブラジル'
cname2='コロンビア'
cname3='グアテマラ'
cname4='エチオピア'
cname5='ルワンダ'
cname6='タンザニア'
cname7='インドネシア'
cname8='ベトナム'
cname9='ラオス'


fig = make_subplots(
    rows=1, cols=3,
    subplot_titles=('南米','アフリカ','アジア')
)

fig.add_trace(go.Scatter(x=df['年'],y=df[cname1],name=cname1),row=1, col=1)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname2],name=cname2),row=1, col=1)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname3],name=cname3),row=1, col=1)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname4],name=cname4),row=1, col=2)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname5],name=cname5),row=1, col=2)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname6],name=cname6),row=1, col=2)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname7],name=cname7),row=1, col=3)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname8],name=cname8),row=1, col=3)
fig.add_trace(go.Scatter(x=df['年'],y=df[cname9],name=cname9),row=1, col=3)

fig.update_layout(yaxis = dict(range=(0, 160000000),constrain='domain'))
fig.update_layout(yaxis2 = dict(range=(0, 160000000),constrain='domain'))
fig.update_layout(yaxis3 = dict(range=(0, 160000000),constrain='domain'))
fig.update_layout(xaxis = dict(range=(2010, 2020),constrain='domain'))
fig.update_layout(xaxis2 = dict(range=(2010, 2020),constrain='domain'))
fig.update_layout(xaxis3 = dict(range=(2010, 2020),constrain='domain'))
fig.show()

表とグラフの作成

↓表の作成も便利です。こちらの記事が参考になります。

https://cafe-mickey.com/python/roust-beans

Mickey@コーヒー好きエンジニア

【製造業×プログラミング×AI】Python/VBAを活用した業務改善、Streamlit/Plotlyを活用したWebアプリ開発について初心者向けに発信中|趣味は自家焙煎コーヒー作り|noteでは焙煎理論を発信|ココナラではプログラミングに関する相談,就職/転職やコーヒーに関する相談などのサービスをやっています