今回はデータ可視化の練習問題です。
既存の資料を使うとつまらないですよね?
新しいデータを使ってみましょう。
1. ファイルと問題
ファイルは公共データポータルから取得した年間犯罪発生件数、検挙件数の統計です。
以下の条件に従ってグラフを描いてみましょう。
ハッキング(データ流出)の発生及び検挙件数を視覚化すること
タイトル、x軸ラベル、y軸ラベル、凡例を設定すること
線のスタイルを自由に変更すること
その他のスタイルは自由

2. 問題の解答
まず、前回の記事から最初の内容をコピーします。ここで変更すべきはファイルのパスのみです。
import pandas as pd
# モジュール呼び出しと日本語フォントの設定
import matplotlib.pyplot as plt
import matplotlib
# MacOSでのフォント設定
# matplotlib.rcParams["font.family"] = "AppleGothic"
# Windowsでのフォント設定
matplotlib.rcParams["font.family"] = "Malgun Gothic"
# フォントサイズの設定
matplotlib.rcParams["font.size"] = 13
# マイナス表示の問題解決
plt.rcParams['axes.unicode_minus'] = False
crime = pd.read_excel("./crime_statistics.xlsx")
crime.head(3)データを確認すると、年度が区分に応じて2つずつ重複していることが分かります。

重複する年度はunique()で除去します。
そしてlocと条件文を利用してハッキングの発生件数、検挙件数を抽出し、一度グラフを描いてみます。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1)
plt.plot(x,y2)
グラフに凡例とタイトルを追加してみましょう。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1,label="発生件数") # <-- 追加
plt.plot(x,y2,label="検挙件数") # <-- 追加
plt.legend() # <-- 追加
plt.title("ハッキング(データ流出)発生及び検挙件数") # <-- 追加
そして軸名も設定します。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1,label="発生件数")
plt.plot(x,y2,label="検挙件数")
plt.legend()
plt.xlabel("年度") # <-- 追加
plt.ylabel("件数") # <-- 追加
plt.title("ハッキング(データ流出)発生及び検挙件数")
最後に線スタイルを指定し、グリッドを追加しました。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1,"^--",label="発生件数") # <-- 追加
plt.plot(x,y2,"o-",label="検挙件数") # <-- 追加
plt.legend()
plt.xlabel("年度")
plt.ylabel("件数")
plt.title("ハッキング(データ流出)発生及び検挙件数")
plt.grid() # <-- 追加
3. 記事を終えて
次の記事では、Matplotlibで複数のグラフを一度に描く方法について説明する予定です。
データ可視化の練習に多くの役立つことを願っています。
댓글을 불러오는 중...