投稿

1月, 2015の投稿を表示しています

matplotlib mplot3dで3次元グラフ作成

イメージ
matplotlibでmplot3dというツールキットを用いることで、このような3次元グラフが描くことができます。 ---------- from mpl_toolkits.mplot3d import axes3d from matplotlib import cm import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.gca(projection='3d')        x = np.arange(-10, 10, 0.25) y = np.arange(-5, 5, 1.00) X, Y = np.meshgrid(x, y) Z = np.sin(X) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm) plt.show() ---------- まず   from mpl_toolkits.mplot3d import axes3d で、mplot3dを呼び出します。 で、   fig = plt.figure()   ax = fig.gca(projection='3d')        は、3次元グラフを作成するときのおまじない?みたいなものです。 3次元グラフを作成するのには、2次元グリッドデータが必要となるので、以下のようにします。   x = np.arange(-10, 10, 0.25)   y = np.arange(-5, 5, 1.00)   X, Y = np.meshgrid(x, y) このmeshgridでx, yを元にグリッドデータを作成しています。 以下のコマンドでプロットします   ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm) rstrideとcstrideは、何ステップ毎にプロットするかを指定します。 cmapはカラーマップの指定ですね。ここでは単にグラフを見やすくするために指定しています。 ---------- Zを   Z =

matplotlib フォント一括指定

イメージ
前回のブログ    matplotlib 日本語ラベル表示     http://yutarine.blogspot.jp/2015/01/matplotlibjapanesefont.html で、日本語でのラベル表示の方法について書きました。 今回は、ラベルだけでなく、グラフで使われるフォントを一括で変更する方法について紹介します。 ---------- import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams['font.family'] = 'VL Gothic' mpl.rcParams['font.size'] = 14 plt.plot([1, 2, 3, 4]) plt.xlabel('(」・ω・)」うー!(/・ω・)/にゃー!') plt.text(2, 2, 'もいもい') plt.show() ---------- この方法により、以下のように円グラフのプロットでも日本語のラベルを使えるようになります(他に方法があるかもしれませんが)。 ---------- ゆたりん matplotlibまとめサイト

matplotlib 日本語ラベル表示

イメージ
ラベルで日本語を使いたい場合について 環境   Ubuntu14.04   Python3.4   matplotlib 1.3.1-1ubuntu5 ---------- import matplotlib.pyplot as plt plt.plot([1,2,3,4])   plt.text(2,3, 'がんばるぞい', family='TakaoGothic', size=20) plt.text(2,2.8, 'がんばるぞい', family='mikachan', size=20) plt.text(2,2.6, 'がんばるぞい', family='kiloji', size=20) plt.text(2,2.4, 'がんばるぞい', family='VL Gothic', size=20) plt.show() ---------- textのfamilyでフォント指定。フォントはあらかじめインストールしておく必要あり。 familyで指定するフォントの名前は、例えばVL Gothicの場合は   /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf をフォントビューアーで開いて で、「情報」ってのをクリック 一番上の「名前」に表示されるのを指定すればよい(らしい)。 ---------- ゆたりん matplotlibまとめサイト

matplotlib CSVデータファイル読み込み

イメージ
以下のCSVデータファイル ----- 1,-2.1 2,-2.3 3,-2.4 4,-2.6 5,-2.3 --以下略-- を読み込んでグラフを作成します。matplotlibというより、numpyの機能を利用してx, y配列として読み込みます。 ---------- import numpy as np import matplotlib.pyplot as plt x, y = np.loadtxt('test01.csv', delimiter=',', unpack=True) plt.plot(x, y) plt.plot(x, y, 'bo') plt.show() ---------- <解説> loadtxtでファイルを読み込んで、xとyに代入します。 ---------- ゆたりん matplotlibまとめサイト

matplotlib 棒グラフ作成 -比較-

イメージ
このように2つのデータセットを比較する棒グラフを作成します。 ---------- import numpy as np import matplotlib.pyplot as plt n_groups = 3 index = np.arange(n_groups) data1 = (10, 15, 7) data2 = (17, 8, 3) bar_width = 0.35 plt.bar(index, data1, bar_width, color = 'b', label = 'data1') plt.bar(index+bar_width, data2, bar_width, color = 'r', label = 'data2') plt.xticks(index + bar_width, ('A', 'B', 'C')) plt.legend() plt.show() ---------- ---------- ゆたりん matplotlibまとめサイト

matplotlib 棒グラフ作成

イメージ
このような棒グラフを作ります。 ---------- import numpy as np import matplotlib.pyplot as plt x = np.arange(5) y = [10, 2, 9, 5, 4] plt.bar(x, y, align='center') plt.xticks(x, ['a', 'b', 'c', 'd', 'e']) plt.show() ---------- <解説> barの中の aligh='center' をしておかないと、 このように左に詰まった棒グラフになります。それから、x軸のラベルを棒に揃えるのにも調整が必要になってきます。 ---------- ゆたりん matplotlibまとめサイト

matplotlib グラフの中の任意の位置に小さなグラフを挿入する

イメージ
今回作成するグラフはこちら。グラフの中に小さなグラフを挿入します。 ----------  import numpy as np import matplotlib.pyplot as plt x = np.arange(-10, 10, 0.1) plt.plot(x, x**2)  plt.axes([0.6, 0.6, 0.2, 0.2])  plt.plot(x, x) plt.show() ---------- <解説> axes([x位置, y位置,  グラフ横幅, グラフ縦幅]) ---------- ゆたりん matplotlibまとめサイト

matplotlib 分割グラフの作成

イメージ
このように上下2つに分割したグラフを作ります。 ---------- import numpy as np import matplotlib.pyplot as plt x = np.arange(-10, 10, 0.1) plt.subplot(211) plt.plot(x, x**2) plt.subplot(212) plt.plot(x, x, 'r--') plt.show() ---------- <解説> subplotの後ろの(211)とか(212)の意味   (211) : 上下に2分割(2)、左右は分割なし (1)、1番目のエリアにプロット(1)   (212) : 上下に2分割(2)、左右は分割なし (1)、2番目のエリアにプロット(2) <応用> subplotで(121)、(122)と左右への分割指定をしてやれば以下のようなグラフが出来ます。 ---------- ゆたりん matplotlibまとめサイト

matplotlibで関数プロット

イメージ
matplotlibで関数プロットしたい場合について簡単にまとめてみました。とりあえず   y = x**2 をプロットしていくことにします。 ----------   import matplotlib.pyplot as plt   import numpy as np   x = np.arange(-10, 10, 0.1)   y = x**2   plt.plot(x, y)   plt.show()  ---------- コード解説   1 :  import matplotlib.pyplot as plt   2 :  import numpy as np 一行目はmatplotlibを使うおまじない 2行目でnumpy(多次元配列操作ライブラリ)を呼び出している。   3 :  x = np.arange(-10, 10, 0.1)   4 :  y = x**2 3行目でnumpyを用いてxという配列を作成。-10から 10までの範囲で0.1刻みの配列を作成してxという配列に代入している。このx配列がx軸となる。 4行目はそのx配列を元にしてxの2乗を計算してyという配列に代入している。これがy軸となる。   5 :  plt.plot(x, y)   6 :  plt.show() 5行目でx配列とy配列を元にしてグラフをプロット。 6行目で作成したグラフを表示。 <まとめ> gnuplotとは違い、配列を作成しないといけないところがちょっとめんどうですね。 ---------- ゆたりん matplotlibまとめサイト

matplotlibでお試しプロット

イメージ
まぁ環境構築したことだし、お試しでプロットしてみましょう。 ターミナルからpythonを起動して(ipythonでも可) ---------- import matplotlib.pyplot as plt   plt.plot([1, 2, 3, 4], [5, 3, 6, 1]) plt.show() ---------- と入力すると、 このようなグラフウィンドウが表示されます。 <コード解説> 1行目 import matplotlib.pyplot as plt matplotlibを使うおまじない。   2行目 plt.plot([1, 2, 3, 4], [5, 3, 6, 1]) plt.plotにデータ配列(x軸、 y軸)を与えて、プロットします (この段階ではグラフは表示されない)。 このplt.plotは配列を読み込んでグラフを作成します。配列を読み込むというのがミソ。 3行目 plt.show() プロットしたグラフを表示します。     ---------- ゆたりん matplotlibまとめサイト

pythonグラフ作成ライブラリ matplotlib環境構築 (python3, Ubuntu14.04)

最近matplotlibというグラフ作成ソフト(ソフトではない?)が気になってたので、調べてインストールしてみました。 当方の環境はUbuntu14.04 (64bit)。  matplotlibとは?(Wikipedia) http://ja.wikipedia.org/wiki/Matplotlib 公式サイト http://matplotlib.org/ matplotlibはpythonというプログラミング言語のグラフ作成ライブラリとのこと。 グラフ作成といえばgnuplotとか有名ですね。gnuplotとmatplotlibの両方を触ってみた感想としては、gnuplotの方が簡単にグラフ作成できる印象。特に関数プロットについては、gnuplotの方がいいかなぁって感じ。 じゃあmatplotlibの利点は?というと、やはりpythonのライブラリなのでいろいろとデータを加工したりする場合にpythonというプログラミング言語が使用できることにあるのではないでしょうか。あとpythonの豊富なライブラリも利用出来るってもの利点。 自分、pythonは入門書をちょっとかじった程度なので、まだまだライブラリとかどう利用したらいいのかさっぱりわからない程度ですが。 matplotlibはpythonを使わないといけないので、使いこなすにはそこそこハードルが高そうです。その点ではgnuplotの方がお手軽感があります。gnuplotは入門書が何冊か出てますし。 Web上の情報でもgnuplotの方が日本語のサイトが充実してますし。 まぁホントにお手軽にグラフを作成したいならExcelでも使えばいいと思いますけど…(ただし自由度は低い)。 個人的には実験データなどのグラフ作成ではngraphとかオススメです。使うならngraph-gtkが便利。 まぁ、各ソフトともに長所、短所があるので、そのへんを見極めて使っていけばいいと思います。 まぁ、とりあえず使ってみないことには始まらないので、matplotlibをインストールしてみることにしましょう。python2系と3系でライブラリが分かれているようですね。自分、「これからの時代はpython3だぜ!」ってスタンスなので、python3のライブラリをインストールしていくこと

Zenfone5のメニューボタンの位置を変更する

イメージ
以前書いたブログ Zenfone5でメニューボタンの設定を変更する   で最後の方に -----  ただし、アプリによってはメニューボタンが他のボタンの上に表示されてしまって、そのボタンが押せないといったことになる場合があります…。 ----- って書いたんですけど、これ回避する方法がありましたので、書いておきます。  まず、「マルチタスクボタン」の設定でメニューボタンを表示する設定にしておくと、以下のスクリーンショットのように画面右下にメニューボタンが表示されます。 このアプリの場合は、右下に「ツイート」ボタンがあってメニューボタンがそれと重なってしまっています(まぁツイートボタンは押せるんですけど)。アプリによっては完全に上に重なって押せなくなる場合があります。  そこでメニューボタンの位置を変更する方法ですが、  メニューボタンをタップしたまま横にドラッグ すれば、下のスクリーンショットのように位置が変更できます。  一度設定したメニューボタンの位置は記憶されているようで、アプリを終了しても変更した位置は保存されるようです。ただし、別のアプリでも同じ位置になってしまいますが…。 と、このようにメニューボタンの位置はカスタマイズできるようなので、活用してみてはいかがでしょうか。 それではまた。

雑談 : パソコンの今後について

ちらっと、「スマホ、タブレットがパソコンに取って代わる!」とかいう記事を見ました。 まぁ、確かにネットできれば充分、って層だとそうなのかもしれませんね〜。ただ、やっぱりちょっと複雑なことしようとするなら、まだまだパソコンが現役なんだと思いますけど。 それでも、MS OfficeのAndroid、iOS版とか出てるのか…。ふ〜む。 パソコンはパソコンでWindows8とか残念な感じですからねぇ。低価格帯ではChromebookとかも出てきましたしね。なかなか5年先の予想とかむずかしいですな。

読書 : 大栗先生の超弦理論入門 (ブルーバックス)

近年で言えば、ヒッグス粒子の発見などで素粒子物理学に脚光が集まってますね。また、日本に ILC(国際リニアコライダー) を誘致するとかいう話も出ています。 で、素粒子物理学では標準理論というのを用いて素粒子を説明しているんですけど、 その標準理論では説明できないことが出てきた。そこで、新たな枠組みで説明しようという理論の1つが超弦理論です。 超弦理論、以前から気になってたんですけどやたら難しそうなので、いままでこの手の本は読んでなかったんですけど、今回はあえて挑戦してみました。 大栗先生の超弦理論入門 (ブルーバックス)  http://bookclub.kodansha.co.jp/product?isbn=9784062578271 序盤は標準理論ではなぜ説明できないことがあるのか?といったことから始まって、徐々に超弦理論の解説に入っていきます。 標準理論では素粒子は点として取り扱われるのですが、くりこみという手法を導入しないと無限大が出てきてしまうそうです。そこで超弦理論を用いて素粒子を弦として扱うとうまく説明できるとかなんとか…(むずかしい)。 あとは重力理論を組み込むのにも超弦理論が役立つとかなんとか。 第10章まであるんですけど、理解できたのは第5章くらいまででしたね…。本格的に超弦理論の解説に入ってからはちょっとボクにはわかりませんでした…。  それでも第10章のまとめを読んで、「う〜ん、なんとなくわかったかな?」って気分になりました。 この本ではかなりわかりやすく書かれているんだと思います。本気で理解しようと思ったら、かなり高度な数学を組み合わせて考える必要があるんでしょう。それにいままでの常識に囚われない考え方も。 まぁ、理解できたかどうかはともかく、最先端の物理学の一旦に触れることができた本でした。

雑談 : 田舎での就職先探し

さて私自信、田舎に引越してきてからそろそろ1年が経とうとしています。そんな中で、田舎での就職先探しについて自分なりにまとめておこうと思います。 -------------------------------------------- ハローワーク -------------------------------------------- まず就職先探しと言ったら、 ハローワーク 。ここで重要なのは、失業保険を受けるわけでもなく、単に就職先を探すだけなら管轄のハローワークまで行かなくてもよいということです。えぇ、なぜか知らないですけど、各ハローワークごとに受け持ってる地区があるらしいんですよね。それで自分の住んでる地区の管轄のハローワークを調べてみたらやたら遠いところにある。車じゃないと行けない。なんてことはザラです。これが、就職先探しだけなら別に管轄のハローワークに行かなくても済みます。それでもやっぱり一番近いハローワークでも遠い!って場合があると思います。 そんなときは ふるさとハローワーク(地域職業相談室)  http://www.mhlw.go.jp/kyujin/chiiki.html も探してみましょう。一言で言うと、ハローワークの出張所みたいなものです。 こちらも求人紹介を行っています。自分の済む地方に近い場所があれば、行ってみるものいいのではないでしょうか。ただ、失業保険関係はやっていないようなので、その場合はやはり管轄のハローワークまで行く必要がありますが。 それから、いちいち求人調べるのにハローワークなんて行ってられない!家からネットで調べられないの?と思いますよね。さすがにこの時代、ネットから調べられないということはありません。ちゃんと調べられます。  ハローワークインターネットサービス  https://www.hellowork.go.jp/ ここの「求人情報検索」 に進んで、いろいろ条件を入力(希望する地区など)していくと調べられます。 ただ、やはり「うわぁ、自分の住んでる場所、求人こんなに少ないの?」とか感じられるかも知れません。そんなときは、可能な限り希望地区を広げてみてください。通勤時間が長くなるかも知れませんが、いい仕事が見つかるかもしれません。 -----

お正月3日目 : 2015/01/03

まぁ、正月も3日目ですが結局だらだらと過ごしてました。 それでも、昨日の夜に積もった雪が10cmくらいあったので、雪かきしてました。 それから、年賀状で出していない人から来ていたのがあったので、返信分を作成です。作り終わったらWindows Updateが始まったりして余計な時間を取らされましたね。これだからWindwosはキライなんだ…。でも、年賀状ソフト使うにはWindwos使うのが手っ取り早いからなぁ。 正直、年賀状作るのめんどくさいですし、そもそも書くネタとかないですから、来年からは年賀状止めましょうかね?と本気で考えてます。 そのあとはだらだらと電子書籍を読んでました。 Amazonショッピングを知る50のヒント 2014年版 ~お客様の本当の声セレクション~ [Kindle版] Amazonで買い物するときの解説書ですね。返品処理の仕方とか「ふ〜ん、そうなのか〜」と参考になりました。 それから、昨日の9巻の続きですけど “藤壺" ヒカルが地球にいたころ……(10) (ファミ通文庫) を読んでました。 ついに最終巻ですか…。ネタばれになるのであまり書きませんが、なかなか読み応えがある作品でした。野村先生の作品はいつも楽しみに読んでるんですけど、完結となるとちょっとさみしいですね…、ってすでに新シリーズとか出てるのでさっそくそっちも読んでいくことにしましょう。 それではまた。

正月2日目 : 2015/01/02

とまぁ、正月だからってそんなやる気が出てるわけでもないので、Twitterやらニコニコ動画やら見てだらだらしてました。 それと、たまにはライトノベルでも読もうかと思い、  "六条" ヒカルが地球にいたころ……(9) を読んでました。 う〜ん、9巻まで進むとさすがに内容がシリアスになってきましたね。次巻で最終巻ですか。もう買ってあるので明日にでも読もうと思います。 それにしても、ライトノベル読むのも何ヶ月振りですかねぇ?KindleとかBookWalkerとかでいろいろ買ってはいるんですけど、なかなか読む気分にならなくて…。でもまぁ、今年はどんどんライトノベルに限らずいろんな本を読んでいこうと思います。 それでは。

あけましておめでとうございます : 2015年

1月1日、新年を無事に迎えることができました。 今年は、もうちょっと読む本を増やしたり、専門分野を勉強しなおしたりしたいですね。 まぁ、そんなこんなで、今年もよろしくお願いします!

スポンサーリンク