matplotlibのエラー 'str' object is not callable
Jupyter notebookでpythonを書いているときにこのエラーが起きた.
エラーの状況
一度書いていたpythonのコードのmatplotlibを使っている部分に
plt.xlabel("m")
みたいなことを書くと'str' object is not callable
というエラーでxlabel()が使えなくなっていたのだ.
おそらくの原因
コードを実行する前に間違って
plt.xlabel = "m"
などとしてしまったせいで plt.xlabel は関数だったのに string型の"m" で上書きしてしまったことが原因だ (pythonみたいな言語はこういうのが通ってしまう).
解決法
つまり plt.xlabel という変数に上書きしてしまったことが原因なのでそこを直さないといけない. jupyter のような逐次実行の状態だとmatplotlib.pyplot (ここではplt)のxlabelという変数をリセットするには開いているjupyter notebookをリセットしなくてはいけない.
よって解決するには
一旦今開いているインタプリタ(僕の場合はJupyter notebookのファイル)を閉じて再起動すれば良い.
つまりJupyter notebookならまず一旦saveして, 左上の "ファイル" から "close and halt" でファイルを閉じて, もう一度そのファイルを起動すれば難なく動いた.
python - Matplotlib pyplot.title(string) returns error - Stack Overflow
ここのAnswerを参考にした.
量子コンピュータつくりたい
久々の更新は東京から
最近のこととこれからやりたいことを少し。まあ日記ですので。
2月末に大学最後の卒業研究発表がやっと終わった。 僕は素粒子理論の研究室に所属していたのですが、縁があって別の研究機関で量子情報に関する実験を行ったのでそれを卒業研究として発表しました。 もちろん大学の素粒子理論研究室での活動も行いながら。
量子情報に関する実験に関わったのが10月ぐらいだったかと思います。 そこの研究室はまだ実験の立ち上げの最中でそこに関わることができたのはとても良い経験だった。 また、量子情報に関われたのは本当に良かった。自分の大学では量子情報に関することをやっている研究室がないのでこうやって外部の機関で関わることができてよかったと感じています。
正直自分が実験をするなんて思いもしなかったですが、実験に行けてよかったと思っています。いま大学院では理論ですが。
いまは理論ですが、今後は量子コンピュータの開発に関わって行きたいとも考えているので極低温の実験に参加できた経験はそこで生きてくることを期待しています。
量子コンピュータといっても量子ビット方式だけではなく量子アニーリングマシンを作るということを先の目標にこれからやって行きたい。自分は理論からのアプローチになるだろうけれども実験屋さんともいろいろ話ししてみたい。
D-Waveの量子アニーリングマシンは理論もハードも日本発なのに実装してビジネスとなると北米に持って行かれてる。ここに日本からのアプローチをしたい(まあ正直日本にこだわりはなく自分が海外に行くというのもあり)。
いまは沖縄から東京の大学院へと進学して、東京は多くの大学が集まっているので今後に関しても沖縄にいるより動きやすくてこれからが少し楽しみです。その前に量子アニーリングなどの理論について学ばなくては行けないですが、気合い入れて頑張って行こうと思います。
しかし、引っ越しやらいろいろな事務手続きやらでここ最近物理ができてないのが辛い。これからしっかり論文も読んで頑張ろう。
ただの日記を読んでくれてありがとうございます。 これからも頑張ります。記事も書きます。
JupyterをPython2と3の両方で使えるように
- 2017/11/28 High Sierra をクリーンインストールしたのでその時に困った conda のパスについて編集
Jypyter notebookをPython2と3の両方で使えるようにするためにはこちらが参考になる.
Python2, Python3 を切り替えて jupyter notebook を使う|熱血エンジニアのブログ
- Anacondaのダウンロード
- python2をインストール
- Python2と3の切り替え
- Jupyterを起動
- Pythonの管理はcondaでやる
- condaの使い方
- Qutipもcondaでインストール
- 疑問点
MBP(Mid2012)をHDDからSSDへ換装
auポイントをauWALLETへ変換する
auユーザーの方は知らずのうちに毎月の支払いによるauポイントが溜まっています.
今回, auから乗り換えをするのでせっかく溜まったポイントをそのままにするのは勿体無いので
walletへ変換して使えるようにしていきます.
ポイントをwalletのプリペイド残高へ変換するにはwalletのチャージ機能で
""auポイントからチャージする"" という機能があるのでこれを使います.
気をつけて欲しいのがこのチャージというのは月に1回しか行えません.
なので試しに1度行うと今月はもう行えなくなるので, チャージする金額をちゃんと確かめてください.
(特に今月でauから乗り換える人はチャージできる全額をしっかりとチャージしてください.)