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

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

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

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

Python 3.x

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

pandas

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

Q&A

解決済

2回答

762閲覧

折れ線のグラフの色を変更する方法

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/02/02 02:08

「トマト」「野菜」「その他の野菜」の3つの折れ線を、ひとつにまとめて表示させる方法をお教え下さい( 一つひとつの表示なら出来ています)。

python

1# 2012〜2018までの全世帯の年間消費支出 2tmt=[6034,6249,6168,6610,6714,6656,6797] 3vgt=[14752,14060,14255,14834,15405,15648,14866] 4other_vgt=[22216,22394,23206,23463,24647,24685,24481] 5 6import pandas as pd 7 8tmt=pd.DataFrame(tmt,index=[2012,2013,2014,2015,2016,2017,2018]) 9tmt=tmt.rename(columns={0:'トマトの年間消費支出'}) 10vgt=pd.DataFrame(vgt,index=[2012,2013,2014,2015,2016,2017,2018]) 11vgt=vgt.rename(columns={0:'野菜の年間消費支出'}) 12other_vgt=pd.DataFrame(other_vgt,index=[2012,2013,2014,2015,2016,2017,2018]) 13other_vgt=other_vgt.rename(columns={0:'その他の野菜の年間消費支出'}) 14 15import matplotlib.pyplot as plt 16plt.rcParams['font.family'] = 'IPAPGothic' 17 18tmt.plot(color='#fd7e00',linewidth = 3.0)

トマトの一人あたりの年間消費量

python

1## 野菜=[さつまいも,じゃがいも,さといも,だいこん,にんじん,ごぼう,たまねぎ,れんこん,たけのこ,他の根菜] 2vgt.plot(color='#3B7960',linewidth = 3.0)

野菜の一人あたりの年間消費量

python

1## 他の野菜=[かぼちゃ,きゅうり,なす,トマト,ピーマン,生しいたけ,しめじ,えのきたけ,他のきのこ,他の野菜のその他] 2other_vgt.plot(color='#00FF00',linewidth=2.5)

イメージ説明

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

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

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

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

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

guest

回答2

0

ベストアンサー

まずax = tmt.plot(~)のように最初のplotの戻り値であるAxesSubplotを変数に格納しておきます。
それ以降ではvgt.plot(~, ax=ax)のようにaxに先ほどの変数を渡します。
最後にplt.show()を呼び出すことで重ねて描画できます。
参考:pandasのplotメソッドでグラフを作成しデータを可視化

なお、XY範囲は3つが収まるように自動調整されるので各グラフのカタチ、特にY軸方向は、個別に描画した結果とは変わります。

Python

1# 略 2 3ax = tmt.plot(color='#fd7e00',linewidth = 3.0) 4vgt.plot(color='#3B7960',linewidth = 3.0, ax=ax) 5other_vgt.plot(color='#00FF00',linewidth=2.5, ax=ax) 6plt.show()

イメージ説明

投稿2020/02/02 02:53

can110

総合スコア38234

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

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

okahijiki

2020/02/02 05:27

できましたー。ですが、当方の理解は...というと、やや怪しいところであります。追って、理解を深めていきたいと存じます。ありがとうございました。
guest

0

以下の記事を参考にしてみてください
【Python】pandasで複数データのグラフ化

投稿2020/02/02 02:41

wayadahata

総合スコア80

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

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

okahijiki

2020/02/02 05:29

貼っていただいたウェッブサイト、みてみました。pyplotと、オブジェクト指向のインターフェイスが混乱している状態です。追って勉強してまいります。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問