Python 学習:plotグラフPDF出力

2014-03-08 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
2、2、2、1、1、 1、0、0、0、1(38)で、換算ポイント 56pt 。
「グルコサミン」また、昨日朝4位にupで、今朝方5位にdown。
「Firefox」は更に、今朝方6位にdown。
・-・ - -・

さて、本文。

前記事(2014-03-06):
Python 学習:Image処理
に続いて、Python の学習。

今回は、グラフをPDFファイルに出力する。


昔(2012-09-24)の記事:
R 学習:plot の出力先
では、
  ・・・・・
  やってみると、
  「Rplots.pdf」なるファイルが出来て、
  そこにグラフが描かれている。
  で、
  2つのグラフだとどうなる?
  2ページ出来ている。
  ・・・・・
  R はいろいろな作図関数を備えており,
    作図結果を様々な出力装置から得ることが出来る.
    出力する装置のことを R では作図デバイスあるいは作図機器と呼ぶ.
  ・・・・・
  とある。
  規定値(デフォルト)は、「pdf」であり、その名前は「Rplots.pdf」
  ・・・・・
でした。

そして、
最近では、2013-08-03 の記事:
PerlからRを使ってグラフ出力
の如く、
  ・・・・・
  この3行だけのファイル「hogehoge.R」を作り、
  「R 学習:plot の出力先」
  で書いた(拡張子「.R」の)対応付けをしておくと、
  「hogehoge.R」ファイルのダブルクリックで、実行できる。
  つまり、
  Perl で、
    system( "Rscript hogehoge.R" );
  とすると、
  ・・・・・


更には、直近(2013-12-13)の記事:
Perl から Flotr2 でグラフ表示
  ・・・・・
  それで、このような HTML文書を Perl から出力して、
  「qx/STRING/ 関数」を使って、
    qx{ なんたら.html };
  で表示させる。
  ・・・・・
の状況。
PDF から、HTML5 ???



さて本題、
Python では、・・・
先ずは R 相当で、PDF出力を!


使うパッケージは、・・・
「Matplotlib」ですか?


「Scipy lecture notes」なるサイトの中に、
1.4. Matplotlib: 作図
を見つけた。

「1.4.2.1. デフォルトの例示」
に、

import pylab as pl
import numpy as np

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

pl.plot(X, C)
pl.plot(X, S)

pl.show()

があった。

でも、「pylab」は、
matplotlib のオブジェクト指向ライブラリに対する手続き的インターフェース
と云うこと。
Matplotlib サンプル集 - Kaiseki
もあるが、
<紙>の意図したものと違う???


更に探したら、
「pyplot」に関して「Jessica Hamrick」の
Saving figures from Pyplot
があったが、“複数ページ”じゃない???


遂に発見!!!
「Matplotlib 1.3.1 documentation」の中の、
pylab_examples example code: multipage_pdf.py


コードの一部を修正して、

# This is a demo of creating a pdf file with several pages.

from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt

# Create the PdfPages object to which we will save the pages:
# The with statement makes sure that the PdfPages object is closed properly at
# the end of the block, even if an Exception occurs.
pp = PdfPages( 'multipage_pdf.pdf' )

plt.figure( figsize=(3, 3) )
plt.plot( range(7), [3, 1, 4, 1, 5, 9, 2], 'r-o' )
plt.title( 'Page One' )
pp.savefig() # saves the current figure into a pdf page

plt.rc( 'text', usetex=False )
plt.figure( figsize=(8, 6) )
x = np.arange( 0.0, 5.0, 0.1 )
plt.plot( x, np.sin(x), 'b-' )
plt.title( 'Page Two' )
pp.savefig()
pp.close()


見事、2ページからなる'multipage_pdf.pdf'が出来た。


もっともっと、Python の学習を続けよう。



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


140219
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク