投稿

ラベル(matplotlib)が付いた投稿を表示しています

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は、何ステップ毎に...

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のライブラリをインストールして...

スポンサーリンク