より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

自分のブログ記事のプログラミング言語で円グラフを作成して考える円グラフ

円グラフは使い所に注意が必要なグラフとされています。

円グラフを安易に使ってはいけない理由を実例を交えて説明します

見た目はよいが、数字の違いが伝わりにくいというものです。

だが、「この項目が全体を大きく占めているんだ!」ということを伝える点では視覚的効果はあるなと仕事で分析していても感じます。

f:id:rimever:20190803124641p:plain
自分のブログ記事のプログラミング言語別円グラフ

私の2019/8/3までのブログ記事のカテゴリをプログラミング言語のみを抽出して可視化したものです。

C#が半分以上を占め、Pythonがその次というのが伝わって来ます。JavaやGoは一切ありませんね。

f:id:rimever:20190803125837p:plain
棒グラフにしてみると、項目の差は伝わるけど

これは棒グラフにした場合を見てもらうと、C#Pythonが圧倒的に多いのはわかっても全体に対してはわかりにくいかなと思います。

要は使い分けですね。

おまけ

プログラミング言語別のグラフを作ってみましたがプログラミング言語のカテゴリー関係なく、全てのブログ記事を含めて円グラフにすると以下のようになりました。

その他が半分以上となっており、技術ブログじゃなかったのか、と反省。

f:id:rimever:20190803125042p:plain
プログラミング言語関係なく、全体とすると

円グラフのpythonのコード

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

plt.style.use('default')
sns.set()
sns.set_style('whitegrid')
sns.set_palette('Set2')

x = ['C#','Python','JavaScript','C++','F#','Ruby']
y = np.array([63,43,5,5,2,1])

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.pie(y, labels=x, autopct="%1.1f%%")
plt.gca().add_artist(plt.Circle((0, 0), 0.65, color='white'))
plt.axis('equal')

plt.show()

参考記事

stats.biopapyrus.jp