質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

846閲覧

前処理したデータの折れ線グラフを描きたい

okahijiki

総合スコア404

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2020/09/09 03:52

編集2020/09/09 06:05

勉強がてら、ウェッブ上で公開されていたデータを元に、
開業率をタテ軸に、各都道府県をヨコ軸にした折れ線グラフを描きたいと思っています。
そのための前処理までは出来たのですが、肝心のグラフ描写で行き詰まってしまいました。
どうぞ、ご教示くださいませ。

python

1import pandas as pd 2 3# ウェッブ上からダウンロードしたエクセルデータを読みこむ 4df=pd.read_excel('downloads/b1_2_10.xlsx') 5 6df.head()

イメージ説明

python

1# 欠損値など不要な行を削除する 2df=df.drop([0,49,50,51,52,53,54]) 3df.head()

イメージ説明

python

1# 必要な列(都道府県、開業率)を抽出する 2df=df[['第1-2-10図 都道府県別会廃業率(2015年度)','Unnamed: 1']] 3df.head()

イメージ説明

python

1# 列の名前の変更 2df=df.rename(columns={'第1-2-10図 都道府県別会廃業率(2015年度)':'都道府県','Unnamed: 1':'開業率'}) 3df.head()

イメージ説明

python

1# 都道府県、開業率がダブっているので、1行目の都道府県、開業率を削除する 2df=df.drop([1]) 3df.head()

イメージ説明

python

1%matplotlib inline 2import matplotlib.pyplot as plt

◎開業率のみを抽出して、やってみました。こんな風になっています。

python

1# 開業率の行のみを抽出 2df_openingRate=df['開業率'] 3plt.plot(df_openingRate)

イメージ説明

◎megさまへ。以下のようなグラフになっております。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aokikenichi

2020/09/09 03:54

折れ線グラフ matplotlib などでググるなど少しは調べられましたでしょうか? Terattailはやりたいことの丸投げはマナー違反です。
okahijiki

2020/09/09 04:05

はい。調べてみました。Pandasで描く方法と、matplotlibで描く方法が、まだ、うまく整理できていない現状です。もう少し詳しければ、その辺まで触れたいところなのですが..そこまでは行っていない現状です。失礼しました。
jeanbiego

2020/09/09 05:48

この状態で、具体的にどこで詰まっていてどうしたいんでしょうか。 問題点が明確にされていないようです。
okahijiki

2020/09/09 05:51

失礼しました。横軸が、都道府県ではなく、インデックスになっている点です。現在、検討中です〜
jeanbiego

2020/09/09 05:53

なるほど、同時刻にmeg_さんがその内容で回答されたようですね。
okahijiki

2020/09/09 05:55

検討中 => 健闘中でした。重ねて、失礼しました〜
aokikenichi

2020/09/09 08:57

大前提として 折れ線グラフは通常「変化」を見るためのグラフです。 都道府県ごとの「違い」を見るためであれば棒グラフの方が適しています。 それは置くとしていろいろQ&Aありましたが横軸の都道府県を47都道府県分表示したいということでよろしいでしょうか。
okahijiki

2020/09/09 09:13

aokikenichiさま >横軸の都道府県を47都道府県分表示したいということでよろしいでしょうか。 はい、そのとおりですー。
guest

回答1

0

ベストアンサー

python

1df.plot(x='都道府県')

上記でプロットできると思いますが、フォント設定してないと日本語は文字化けします。

※OSが不明なので文字化け対応は割愛しますが調べれば色々なサイトで解説されています。

投稿2020/09/09 05:48

meg_

総合スコア10580

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

okahijiki

2020/09/09 06:07

megさま ご回答、ありがとうございます。 該当ファイルに、ウェッブからダウンロードした日本語のフォントを入れ、 plt.rcParams['font.family'] = 'IPAPGothic' にて、文字化けの問題はクリアできました。 がしかし、質問に追記したグラフ(各都道府県が表示されないグラフ)となっております。 すいません、お手数をおかけします。お付き合い頂ければ幸いであります。
meg_

2020/09/09 07:50

おそらくグラフのサイズが小さいからでしょうか? グラフの細かい設定はmatplotlibでしましょう。 plt.plot(df['都道府県'],df['開業率'])でグラフは表示できるかと思います。 あとはグラフサイズを指定したり、x軸の表示を縦書きにしたり、フォントサイズを小さくしてみてはどうでしょうか?
meg_

2020/09/09 08:11

df.plot()では表示されないラベルもplt.plotだと表示される場合もありますね。ただラベル数が多い場合には調整が必要になると思います。
okahijiki

2020/09/09 09:16 編集

お手数をおかけしております。 plt.figure(figsize=(20,2)) plt.plot(df['都道府県'],df['開業率']) にて、各都道府県名が表示され、どの都道府県がどの数値を指すのか、何とか分かるようになって来ました。 あとは、都道府県名を斜めにするとか、ひと工夫してみます(いま健闘中ですー) ありがとうございましたー!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問