ミニバンクを作ろう2025

イメージ
 ミニバンク2025を電通大でやりました。5台が使える状態まで完成しました。2年前よりも先まで進みました。いろんな意味で異常な会が無事終わって良かったです。 全国から25名(学生15名、スタッフ10名)のご参加を頂きました。(韓国からも一名) 新規に5台の40テスラミニバンクおよび2個のパルスマグネットを製作した。すべて高電圧テスト、パルス磁場発生に成功。さらに複数グループで強磁性体の磁化測定まで成功。 手を動かして作ることで、パルス強磁場の発生法を理解し、心理的障壁が無くなった。 参加した研究者同士・若手学生同士の親交が深まった。 ご参加頂きありがとうございました!! 準備 組み立て開始 電流計 初日夜 2日目 3日目コイル巻き 4日目だいたい完成 充電接地、放電、磁化測定まで・・・ ’ たたずむミニフィグたち 感想を言い合う できたミニバンクは会議室の側室に一時保管。調布祭とかぶって搬出は後日に。

Python:グラフにレジェンド(凡例)をいれる。順番もいじる。

 plt.legend()をつかいます。

 import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, np.pi * 2, 0.1)
plt.plot(x, np.sin(x), color = [1, 0, 0], label = 'sin(x)')
plt.plot(x, np.cos(x), color = [0, 0, 1], label = 'cos(x)')
plt.plot(x, np.exp(-x), color = [0, 0.5, 0], label = 'exp(-x)')
plt.legend() 

ここからは少しマニアックです。 こんなことがあるかもしれません。粗い実験データにキレイな理論線を重ねたいとき、実験データの裏に理論線を書きたいとします。するとだいたいこういう風に書きます。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, np.pi * 2, 0.2)
dat = np.sin(x) + (np.random.rand(len(x)) - 0.5) / 5
plt.plot(x, np.sin(x), color = [0, 0, 1], label = 'theory')
plt.plot(x, dat, color = [1, 0, 0], label = 'experiment', marker = 'o', lw = 0, markerfacecolor = [1, 1, 1])

plt.legend() 



legendをみるとtheoryがうえで、experimentが下です。theoryの線を裏に置くために先に書いたので、legendの順もそうなっています。でもあなたは実験家で実験のlegendを先に示したいと思っています。そのときは少し複雑ですが・・・

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, np.pi * 2, 0.2)
dat = np.sin(x) + (np.random.rand(len(x)) - 0.5) / 5
plt.plot(x, np.sin(x), color = [0, 0, 1], label = 'theory1')
plt.plot(x, -np.cos(x)*0.5, color = [0, 0.6, 0], label = 'theory2')
plt.plot(x, dat, color = [1, 0, 0], label = 'experiment', marker = 'o', lw = 0, markerfacecolor = [1, 1, 1])

handles, labels = plt.gca().get_legend_handles_labels()
order = [2, 1, 0]
plt.legend([handles[idx] for idx in order],[labels[idx] for idx in order]
           , loc = [0.65, 0.7]
           , fontsize = 12
          )


とするとこんな感じにうまくいきます。

コメント

このブログの人気の投稿

しばらく、うまく見られなかった・・・・しかし解決の兆し