0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

matplotlibのエラー「normedは使えない」を解決する方法

Posted at

Pythonでデータの可視化をする際、以下のようなエラーに遭遇しました。

AttributeError: Rectangle.set() got an unexpected keyword argument 'normed'

この記事では、このエラーの原因と解決方法をまとめました。

エラーの原因

matplotlibでは、バージョン2.1以降、ヒストグラムを作成する際の引数normedが廃止されました。その代わりに、densityという新しい引数が導入されています。

そのため、古いコードでnormed=Trueを指定している場合、このエラーが発生します。

修正方法

normeddensityに置き換えるだけで解決しました。

修正前のコード

import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
plt.hist(data, bins=5, normed=True)  # 古いコード
plt.show()

修正後のコード

import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
plt.hist(data, bins=5, density=True)  # 修正版
plt.show()

バージョン確認方法

自分のmatplotlibのバージョンを確認したい場合は、以下のコードを実行してください。

import matplotlib
print(matplotlib.__version__)

もし古いバージョンを使っている場合は、以下のコマンドでアップデートすることをおすすめします。

pip install --upgrade matplotlib

まとめ

このエラーは、matplotlibの仕様変更によるものです。コードを少し修正するだけで解決できるので、ぜひ試してみてください。

同じようなエラーに困っている方の参考になれば幸いです!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?