📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
文字列「</source>」を「</syntaxhighlight>」に置換
 
(同じ利用者による、間の3版が非表示)
26行目: 26行目:


<br>
<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  # - * - coding: utf8 - *
  # - * - coding: utf8 - *
   
   
89行目: 89行目:
     window.show()
     window.show()
     sys.exit(app.exec_())
     sys.exit(app.exec_())
  </source>
  </syntaxhighlight>
<br>
<br>
上記のサンプルコードを実行すると、コンソール上に次のような警告が出力される。(挙動自体に影響はないと思われる)<br>
上記のサンプルコードを実行すると、コンソール上に次のような警告が出力される。(挙動自体に影響はないと思われる)<br>
101行目: 101行目:
<br><br>
<br><br>


== Matplotlibで作成するグラフ ==
== Matplotlibで作成するグラフ (2) ==
上記のセクションにおいて、警告が出力される原因は、<code>add_subplot()</code>関数が2箇所に存在しているからである。<br>
上記のセクションにおいて、警告が出力される原因は、<code>add_subplot()</code>関数が2箇所に存在しているからである。<br>
<br>
これは、上記のサンプルコードでは、<code>PlotCanvas</code>クラスのコンストラクタと<code>plot</code>関数の中で、それぞれ<code>add_subplot()</code>関数を使用しており、<br>
上記のサンプルコードでは、<code>PlotCanvas</code>クラスのコンストラクタと<code>plot</code>関数の中で、それぞれ<code>add_subplot()</code>関数を使用している。<br>
axesに関わる変数を2回定義(重複)しているから警告が出力される。<br>
つまり、axesに関わる変数を2回定義(重複)しているから警告が出力される。<br>
<br>
<br>
したがって、まず、<code>plot</code>関数内にある以下の行を削除する。<br>
したがって、まず、<code>plot</code>関数内にある以下の行を削除する。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  ax = self.figure.add_subplot(111)
  ax = self.figure.add_subplot(111)
  </source>
  </syntaxhighlight>
<br>
<br>
次に、上記で削除した変数axが使用されている箇所を修正する。<br>
次に、上記で削除した変数axが使用されている箇所を修正する。<br>
127行目: 126行目:
以下のサンプルコードでは、警告が出力されないように修正を加え、上記の3つの機能を実装している。<br>
以下のサンプルコードでは、警告が出力されないように修正を加え、上記の3つの機能を実装している。<br>
なお、クラス名や変数名等は変更している箇所がある。<br>
なお、クラス名や変数名等は変更している箇所がある。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  # - * - coding: utf8 - *
  # - * - coding: utf8 - *
   
   
146行目: 145行目:
   
   
     def __init__(self, parent=None):
     def __init__(self, parent=None):
         super(MainWindow, self).__init__(parent)
         super(plotGraph, self).__init__(parent)
         self.title  = "グラフを表示するウインドウ"
         self.title  = "グラフを表示するウインドウ"
         self.width  = 700
         self.width  = 700
240行目: 239行目:
  if __name__ == '__main__':
  if __name__ == '__main__':
     main()
     main()
  </source>
  </syntaxhighlight>
<br>
<br>
上記のサンプルコードを実行すると、下図のような画面が表示される。<br>
上記のサンプルコードを実行すると、下図のような画面が表示される。<br>