MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PyQtの基礎 - グラフのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PyQtの基礎 - グラフ
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == ここでは、PyQtとMatplotlibを使用して、グラフを表示する方法を記載する。<br> <br><br> == Matplotlibとは == Matplotlibとは、PythonやNumPyで使用するためのグラフ描画用ライブラリである。<br> Matplotlibは、豊富な種類のグラフを生成することができる。<br> <br> MatplotlibはPythonの標準ライブラリではないので、別途インストールする必要がある。<br> 以下のコマンドを実行して、Matplotlibをインストールする。<br> pip3 install matplotlib <br> 実務上において、NumPyやSciPyと合わせて使用することが多い。<br> その時は、必要に応じてNumPy等もpipコマンドを使用してインストールすること。<br> (このページでは、NumPyやSciPyは使用しない)<br> <br> また、Matplotlibをさらに詳しく知りたい場合は、[https://matplotlib.org/gallery/index.html 公式Webサイト]にアクセスして確認すること。<br> <br><br> == Matplotlibで作成するグラフ (1) == このセクションでは、PyQtとMatplotlibを使用してグラフを表示する。<br> [https://pythonspot.com/tag/pyqt5/page/2/ こちらのWebサイト]のチュートリアルにある<u>PyQt5 Matplotlib</u>という箇所とサンプルコードを参考にする。<br> <br> 下図のグラフは、Matplotlibによって描画されたグラフである。<br> この画面とグラフを表示するためのサンプルコードを以下に示す。(このサンプルコードは、上記のチュートリアルから引用している)<br> <br> <source lang="python"> # - * - coding: utf8 - * import sys import random from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QVBoxLayout, QSizePolicy, QMessageBox, QWidget, QPushButton from PyQt5.QtGui import QIcon from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure import matplotlib.pyplot as plt class App(QMainWindow): def __init__(self): super().__init__() self.left = 10 self.top = 10 self.title = "PyQt5 matplotlib example - pythonspot.com" self.width = 640 self.height = 400 self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) m = PlotCanvas(self, width=5, height=4) m.move(0,0) button = QPushButton('PyQt5 button', self) button.setToolTip('This s an example button') button.move(500,0) button.resize(140,100) self.show() class PlotCanvas(FigureCanvas): def __init__(self, parent=None, width=5, height=4, dpi=100): fig = Figure(figsize=(width, height), dpi=dpi) self.axes = fig.add_subplot(111) FigureCanvas.__init__(self, fig) self.setParent(parent) FigureCanvas.setSizePolicy(self, QSizePolicy.Expanding, QSizePolicy.Expanding) FigureCanvas.updateGeometry(self) self.plot() def plot(self): data = [random.random() for i in range(25)] ax = self.figure.add_subplot(111) ax.plot(data, 'r-') ax.set_title('PyQt Matplotlib Example') self.draw() if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_()) </source> <br> 上記のサンプルコードを実行すると、コンソール上に次のような警告が出力される。(挙動自体に影響はないと思われる)<br> MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance. warnings.warn(message, mplDeprecation, stacklevel=1) <br> 次のセクションでは、上記の警告も出力されないように修正を加えながら、動的な画面とグラフを作成する。<br> <br><br> __FORCETOC__ [[カテゴリ:Python]]
PyQtの基礎 - グラフ
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse