ラベル matplotlib の投稿を表示しています。 すべての投稿を表示
ラベル matplotlib の投稿を表示しています。 すべての投稿を表示

2021年10月14日木曜日

【matplotlib】FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated

matplotlibでグラフ表示をさせていたところ以下の警告メッセージ

FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version.  Convert to a numpy array before indexing instead.

どうやら非推奨な使い方?をしているようです。

グラフデータに<class 'pandas.core.indexes.datetimes.DatetimeIndex'>や<class 'pandas.core.series.Series'>型のデータを渡しているだけなのですが・・・。

【Version】
matplotlib:3.0.2
pandas:1.3.3
numpy:1.21.2

色々調べて結局valuesかto_numpy()で<class 'numpy.ndarray'>型に変換して渡すことで解決できました。(valuesよりto_numpy()が推奨されているらしい)

2021年7月25日日曜日

Visual Studio CodeのJupyterでExpected expression Pylanceエラー

 Visual Studio CodeのJupyter上でmatplotlibを使用していたら突然動かなくなりました。

下部のエラー画面に”Expected expression Pylance”エラーが表示されていることに気がつき該当のエラー行を見てみるとmatplotlib のインタラクティブサポートを有効化するためのコマンドの行がエラーとのこと

%matplotlib inline ←該当のエラー行

今まで問題なく動作していたのに・・・Visual Studio Codeを再起動してみても改善せず原因不明。

ただ、作業中に拡張モジュールをバージョンアップをしたような・・・。

試しにエラー行をコメントアウトしてみるとエラーはなくなりました、グラフが表示しなくなると思いきや問題なく表示します。

もしかして不要になったのかな。

■発生したバージョン

Visual Studio Code:1.58.2

Jupyter:v2021.8.1054968649

Pylance:v2021.7.5

Python:v2021.7.1060902895

2021年5月26日水曜日

matplotlibで日本語表示のためにIPAフォントをインストール

 Linux(ベータ版)を日本語化する際にデフォルトでNoto Sans CJK JP日本語フォントがインストールされていいたので日本語フォントは追加していませんでした。

しかし、パッケージでインストールしたmatplotlibはVer3.0.2のようでttcファイルに未対応(V3r3.1から対応したらしい)のようなので上記の日本語フォントが扱えないらしい。

Noto Sans CJK JPはttcファイル

仕方なくIPAフォントをインストールすることにしました。

■IPAフォントパッケージインストール

>sudo apt install fonts-ipaexfont

■インストールされたフォントの確認

 >fc-list | grep 'IPA'

(実行結果)
/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf: IPAexゴシック,IPAexGothic:style=Regular
/usr/share/fonts/opentype/ipaexfont-mincho/ipaexm.ttf: IPAex明朝,IPAexMincho:style=Regular
/usr/share/fonts/truetype/fonts-japanese-mincho.ttf: IPAex明朝,IPAexMincho:style=Regular
/usr/share/fonts/truetype/fonts-japanese-gothic.ttf: IPAexゴシック,IPAexGothic:style=Regular

ttfファイルがインストールされました。

■Jypyter Notebookでのテストコード

import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif']  = ['IPAexGothic']
x = [1,2,3,4,5]
y=[2,4,6,8,10]
plt.plot(x,y)
plt.title('日本語タイトル')
plt.show()

無事日本語タイトルが表示できました。

2021年5月22日土曜日

matplotlibインストールでThe headers or library files could not be found for zlibエラー

 Chromebook(ASUS Chromebook Detachable CM3)上のLinux(ベータ版)の環境も整ってきたのでVisual Studio Codeの拡張機能Jupiter Notebookちょっと使用してみようとグラフ表示のサンプルコードを書いてみるとmatplotlibモジュールがないとエラー表示。

そんな気はしたのでインストールしようとすると関連モジュールのPillow-8.2でインストールエラー。

The headers or library files could not be found for zlib,

 a required dependency when compiling Pillow from source.

このメッセージは以前にも違う環境で発生したことが・・・あらためて調べてみると色々なケースがあるようで深みにはまりそうな予感。

公式サイトのインストール方法を読んでいるとdebianの場合、python3-pilとpython3-pil.imagetkのdebパッケージにPillowが含まれているような記載がありインストールしてみると5.4.1がインストールされました。

再度matplotlibのインストールをトライするとエラーは改善せず・・・インストールログをみているとPillowは6.2以上を使用するようでパッケージに含まれている5.4.1では古いらしい。(matplotlibは3.4.2をインストールしようとしていました)

もしかしてmatplotlibのdebパッケージがあるのではないかと調べて見るとやっぱりありました、バージョンは3.0.2とちょっと古いのですが勉強程度に使用する分ならきっと使えるのではないかと思うのでこれ以上深入りするのはやめました。

(2021/5/26)

matplotlibのTTCファイル対応は3.1からのようなので日本語表示させる場合はTTFファイルのインストールが必要そう