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

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

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

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

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

Q&A

解決済

1回答

1603閲覧

matplotlibのグラフにデータが反映されないエラー

退会済みユーザー

退会済みユーザー

総合スコア0

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

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

0グッド

0クリップ

投稿2020/04/08 14:53

Python

1import pandas as pd 2import matplotlib as plot 3import matplotlib.pyplot as plt 4import numpy as np 5import matplotlib.font_manager as fm 6dfs = pd.read_csv("C:/Users/detec/desktop/coronaTokyo3.csv") 7cat = pd.api.types.CategoricalDtype(categories = ['10歳未満','10代','20代','30代','40代','50代','60代','70代','80代','90代'],ordered=True) 8dfs['age'] = dfs['age'].astype(cat) 9dfs["age"].head 10#csvファイル内の数字と文字列のデータを一度カテゴリ型データへ。 11 12dfs.isnull().sum() 13dfs.dropna(subset=['age'], axis=0, inplace=True) 14vc = dfs["age"].value_counts() 15print(vc) 16#”調査中”というデータの削除 17 18dfs['age'] = dfs['age'].map({'10歳未満': 0,'10代': 10,'20代': 20,'30代': 30,'40代': 40,'50代': 50,'60代': 60,'70代': 70,'80代': 80,'90代': 90}) 19#数値への置き換え 20 21dfs['age'] = dfs['age'].astype(int) 22#intデータにする 23 24fm.findSystemFonts() 25font_location = 'C:\Windows\Fonts\BIZ-UDMinchoM.ttc' 26font_name = fm.FontProperties(fname=font_location).get_name() 27plt.rc('font',family=font_name) 28#フォントの調整 29 30bins = np.arange(11) 31labels = [f"10歳未満" if x == 0 else f"{x}0代" for x in range(10)] 32freq, bins = np.histogram(dfs['age'], bins=bins) 33x = np.arange(len(bins) - 1) 34#ラベルの調整 35 36fig, ax = plt.subplots() 37ax.bar(x, freq) 38ax.set_xticks(x) 39ax.set_xticklabels(labels) 40ax.set_xlabel("Age") 41plt.show() 42#描画 43 44freq.shape

その結果が、以下の画像になります。
イメージ説明
なぜか10代~80代のデータが反映されていません。
なにかコードに問題があるでしょうか?

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

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

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

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

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

meg_

2020/04/09 11:54

タイトルが「matplotlibのグラフにデータが反映されないエラー」ですがエラーではないので不適切なタイトルです。matplotlibに表示する前のデータの段階でおかしいのでしょう。
退会済みユーザー

退会済みユーザー

2020/04/09 14:01

申し訳ございません。どのように書けばよいかわからなかったもので。。。
meg_

2020/04/09 14:21

”matplotlibで思い通りのグラフが描画出来ない"とかでしょうか。
退会済みユーザー

退会済みユーザー

2020/04/09 14:24

なるほど。勉強になります。
guest

回答1

0

ベストアンサー

Python

1bins = np.arange(11) 2labels = [f"10歳未満" if x == 0 else f"{x}0代" for x in range(10)] 3freq, bins = np.histogram(dfs['患者_年代'], range=(0, 90)) 4#freq, bins = np.histogram(dfs['患者_年代'], bins=10) 5x = np.arange(len(bins) - 1) 6 7fig, ax = plt.subplots() 8ax.bar(x, freq) 9ax.set_xticks(x) 10ax.set_xticklabels(labels) 11ax.set_xlabel("Age") 12plt.show()

イメージ説明

投稿2020/04/09 11:57

編集2020/04/09 12:02
meg_

総合スコア10580

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問