Qiitaの可視化から見えた、人気技術ランキングの推移


# **Qiitaのタグを時系列で可視化 ⇒ 面白い**

Qiitaに投稿されているタグと、いいね数を
時系列で可視化したら、人気技術の推移が見えてきた。
予想以上に興味深い**栄枯盛衰**が出てきたため、結果を共有します！

**[Qiitaの殿堂](http://youwht.ga/)**　というサイトの分析編として追記しました。

直接、結果グラフだけ見たい人は **[こちら](http://youwht.ga/static/csv_data/gl.html)**

#  [Qiitaの殿堂](http://youwht.ga/) とは？
 
 **[Qiitaの殿堂](http://youwht.ga/)**は、
 **上位1～2%の超人気記事**を月ごとのランキング形式で紹介するサイト
 **見逃した良記事が多数見つかる**。

詳しくは、以下の投稿をご参照。

* [【無料】Qiitaの殿堂を作った物語【簡単】](https://qiita.com/youwht/items/9851c2ac9024633fc04e)

#  先に見ておきたい分析内容

人気タグごとの詳細や関係性を分析した以下の記事も、
合わせて参照するとより楽しめる。

 * [直近１年のQiita記事分析で分かった７つの「驚愕」](https://qiita.com/youwht/items/f3fa7e6cc2687509c06e)

今回、上の投稿で分かったTOPタグを対象に、2012年からの推移を見た。

#  可視化結果発表！

最新版は、**[Qiitaの殿堂](http://youwht.ga/)** の中の、
　[「Qiita Visualization」を見る](http://youwht.ga/static/csv_data/gl.html) 　から直接見てください。
画像で見るより、かなり綺麗に見えると思います。
（また、月次くらいで更新していこうと思います）

以下は、本投稿時点のデータを画像化して貼って考察。

# 月次記事数 ＆ いいね数 ＆ 平均いいね数

![01_count_iine.PNG](https://qiita-image-store.s3.amazonaws.com/0/193512/a27e180f-e8c3-fc96-3414-c4044abde416.png)

![02_count_ave.PNG](https://qiita-image-store.s3.amazonaws.com/0/193512/c2cf8e34-a453-3685-d091-38ed29f0d6db.png)


投稿数は増えているけど、いいね平均値は大幅に下がっている。
この二つのグラフについては、以前の[７つの驚愕の記事](https://qiita.com/youwht/items/f3fa7e6cc2687509c06e)で
考察をしているため、コメントは省略させていただく。
また、2018年9月分はまだ「途中版」。


# タグごと月次記事数 ＆ 累計いいね数（言語系）

主要なプログラム言語ごとに、記事数と累計いいね数の推移を見た。

![03_gengo_count.PNG](https://qiita-image-store.s3.amazonaws.com/0/193512/2fcf36ff-dcfb-1d66-2b96-2c1c055ed567.png)

![04_gengo_iine.PNG](https://qiita-image-store.s3.amazonaws.com/0/193512/2468da38-a60a-df78-03d3-38d80d9c2ca8.png)



累計いいね数については、
「平均値が高い時期」（過去）の投稿が
有利に働いている点には注意が必要。

* `Python`の記事数の伸びが圧倒的
  * 2017年1月から`JavaScript`を抜く
* `JavaScript`は安定した強さ
  * 累計いいね数でも圧倒的
* `Ruby`は１位⇒３位に定着
  * 2015年3月に`JavaScript`に首位を奪還され
  * 伸び悩みを見せるものの、安定して３位
* `Swift`への期待感と停滞
  * 登場時期がここまで明確に出るのはスゴイ
  * 記事数が伸びない割にいいね数は高い
* `PHP`、`Java`は安定、新鋭は`vue.js`
  * `Unity`や`Node.js`、`Go`も安定か
  * 新規に増加が目立つのは`vue.js`

なお、なぜこの10個の言語タグにしたかというと、
前回の分析結果の上位の開発言語を参照しながら、
「Python3」「Rails」などの重複的なタグを外して選定。


【10/2追記】：サイトのグラフで見ていただく場合、
「凡例」（Python,Javaなどの名前の所）をクリックすると、
そのラインの表示非表示のON/OFFが出来ます。
ご自身の見たいデータに絞って見ることが可能です。
（情報が多くごちゃごちゃしているのでオススメです！）

# タグごと月次記事数 ＆ 累計いいね数（その他）

プログラム言語以外の人気タグごとに、記事数と累計いいね数の推移を見た。

![05_sonota_count.PNG](https://qiita-image-store.s3.amazonaws.com/0/193512/4dfcee8e-fbcf-6c27-0db0-a208ebd48b6d.png)

![06_sonota_iine.PNG](https://qiita-image-store.s3.amazonaws.com/0/193512/a43973dc-faa1-74e8-fb29-f731fe971b1d.png)


* `iOS` vs `Android`が面白い
  * 当初は`iOS`優位だがジワジワ差が縮まり、
  * 2018年1月以降`Android`が記事数逆転orほぼ同数
  * しかし、累計いいね数ではまだ`iOS`優勢
* `AWS`の伸び率に注目！
  * 2017年12月のAdvent Calendar 凄い
* `docker`も`AWS`にひけをとらない
  * 累計いいね数でも見事に追随
* `機械学習`の記事は少数精鋭
  * 記事数は少ないももの、
  * 累計いいね数の急上昇っぷりがすごい
* `Git`は開幕から安定した人気
  * 記事数の割にいいね数も高く安定
* `RaspberryPi`は意外と普通
  * もっとバズったり、何か動きがあるかと 
* `Linux`、`Mac`、`Windows`は普通
  * まあそうだよね

# 総合考察

## 全体の記事数＆いいね数の考察

まず最初に改めて、
最近は「いいね」が取りにくくなってきている。
この状況を（定期的に）視覚化することが出来るようになった。
投稿数も増え、利用者も増えてきているのに残念。
⇒**みなさん、もっと「いいね」をして好循環を回しましょう！**

ただ、Qiitaのサイトとしての問題も大きく、
**「記事を魅せる仕掛け」が圧倒的に不足しているから** だとも思う。
記事数が増えたのに、サイトTOPは20個まで。
タグごと表示でもトレンドやメールと重複する。
良い記事が埋もれてしまう条件が満載。(+_+)
これは　[Qiitaの殿堂](http://youwht.ml/) 　の作成動機の一つ。

* [【無料】Qiitaの殿堂を作った物語【簡単】](https://qiita.com/youwht/items/9851c2ac9024633fc04e)

そして、以下の試みを行った動機でもある。

* [AIが見つけた、埋もれたQiita良記事100選](https://qiita.com/youwht/items/900fb5f4e80b11e593a6)


なお、「いいね数」で見るのではなく、
「課題解決/やりたいことが明確である時に、
　検索して訪問し、助かった記事」が最も（自分に）良い記事、
であることは明らかであるが、
これは、Google検索が優秀であるため、
埋もれていてもあまり困らない、のではないか？と思う。
ここでは、情報収集や新たな着想を産むような記事、
何かに挑戦した経験談、斬新な試み、教養が得れる記事など、
間接的に後で参考になるようなタイプの「良記事」が対象。

> 私自身の好みの傾向を見つけたいのかもしれない。
> 「対義語自動生成」や「どこでもドア」とか「しりとり」とか、
> 直接は役に立たない「**遊び**」が好きだから。
> 　[「赤の他人」の対義語は「白い恋人」 これを自動生成したい物語](https://qiita.com/youwht/items/f21325ff62603e8664e6)
> 　[どこでもドアを作ってみた物語](https://qiita.com/youwht/items/8ca57766a991371c1cfe)
> 　[「しりとり」徹底分析！最強キャラ（文字）解説](https://qiita.com/youwht/items/7a4a280e4c49107260ed)

## 言語系/その他系のタグ可視化の考察

まず、どのタグをどうグラフ化するべきか、非常に迷った。
単純にPythonとAWSを並べる方法もあったし、
いいね数も累計値ではなく月次で出す方法もある。
１グラフの線の個数も悩ましい。１０本はかなり多い。
だが、「**眺めて楽しいこと**」を基準で考えると、
前回分析時の結果の上位２０個を、言語とそれ以外に
分けるだけで、ほぼ目的が達成できた。
細かい正確性とか網羅性は要らない。
少なくとも私が個人的に見たかったグラフがコレだった。

予想通りだった傾向もあれば、そうではなかった傾向もある。
Pythonの伸びが一番特徴的だろうか！？
見る人によって様々な考察ができるグラフであろう。

「私ならこういう可視化にしたい」という人もいるかもしれない。
そこで、素のCSVを以下からDLできるようにしておいた。
　http://youwht.ga/static/csv_data/count_iine.csv
今回採用していないタグのデータも含めてあり、
もっと面白い分析をしたい方は、ご活用くださいませ。
データ分析の練習教材にもいいかもしれない。
（ドメインの無料期間が切れる2019年7月までは生きていると思います。
　その後はどうなるか不明）


# 【おまけ：技術的な話】今回構築した仕組み

当初は、(Pythonで取得したデータだったため)
pandasなどで可視化＆画像化していた。
しかし、綺麗じゃなく、提示には向かないと考え、
今回はJavaScript/Chartjsを使って可視化した。
Chartjsは、今回の例以外にも、様々な形式のグラフを
綺麗に作れるため、とても有用なライブラリである。

また、サーバの構成等は、以下の記事の通り、
GoogleCloudPlatformの無料枠だけで出来ている。

* [【無料】Qiitaの殿堂を作った物語【簡単】](https://qiita.com/youwht/items/9851c2ac9024633fc04e)

グラフ表示までの全体の仕組みは下記の通り。
1. QiitaAPIを使い、Pythonでデータ取得（前記事と共通）
2. Python/PandasのDFを使ってタグなどの情報を整理⇒CSV出力
3. Python/FlaskでHTMLを表示（前記事と共通）
4. HTMLを表示する際に、JavaScript/ChartjsでCSVをグラフ化

JavaScript/Chartjsのソースコードは、
サイト上でそのまま見れる（綺麗なコードではない）。

グラフ/サイトのシンプルな作例として、
Qiitaで一位と二位の言語をどちらも使い、
無料で作成できる例なので、ぜひ初心者の方にオススメしたい。

# おしまい。
誰でも思いつきそうな可視化だけど、意外と誰もやっていなかった。
少しでもみなさまの知見のお役に立てれば幸いです！！

~~「記事を魅せる仕掛け」が圧倒的に不足しているから。~~
~~について、 例えばQiita公式へ、「Qiitaの殿堂」を譲ることで~~
~~埋もれ防止になったり、殿堂入りへのモチベ向上にならないかなぁ。~~
~~「無料枠」サイトだしコードごと差し上げるんだが。~~
~~もし、こういう取り組みを有用だと思う人が多ければ・・・。~~