More Related Content
Similar to KETpic できれいな図を書こう
Similar to KETpic できれいな図を書こう (20)
KETpic できれいな図を書こう
- 14. 作図データをつくろう
このコードをRで実行してみよう
14
Ketinit()
Setwindow(c(-0.5,1.5),c(-0.5,2.5))
G=Plotdata('2*x','x=c(0,1)')
Gv=Listplot(c(1,0),c(1,2))
SEG1=Listplot(c(0,0),c(1,0),c(1,2))
Windisp(G)
Openfile("2x.tex")
Beginpicture('20mm')
Drwline(G,2)
Drwline(Gv,0.5)
Setax("a0.5","x","s2","f(x)","w","O","nw")
Expr(c(1,2),"w","(1,2)")
Expr(c(1.3,2.4),"e","f(x)=2x (0<x<1)")
Expr(c(1,0),"es2","1")
GH=Hatchdata(list('ii'),list(SEG1,'n'),list(G,'s'),-45,0.5)
Drwline(GH,0.5)
Endpicture(1)
Closefile()
- 15. 作図データをつくろう
このコードをRで実行してみよう
Ketinit()
Setwindow(c(-0.5,1.5),c(-0.5,2.5))
G=Plotdata('2*x','x=c(0,1)')
Gv=Listplot(c(1,0),c(1,2))
SEG1=Listplot(c(0,0),c(1,0),c(1,2))
Windisp(G)
Openfile("2x.tex")
Beginpicture('20mm')
Drwline(G,2)
Drwline(Gv,0.5)
Setax("a0.5","x","s2","f(x)","w","O","nw")
Expr(c(1,2),"w","(1,2)")
Expr(c(1.3,2.4),"e","f(x)=2x (0<x<1)")
Expr(c(1,0),"es2","1")
GH=Hatchdata(list('ii'),list(SEG1,'n'),list(G,'s'),-45,0.5)
Drwline(GH,0.5)
Endpicture(1)
Closefile()
15
データの
作成
作図TeX
書き出し
細かいコードの説明は後で
- 17. TeX のソース
ketpic と graphicx は必須!
figure 環境の中にinputコマンドで先ほどの作図を入
れる.
17
documentclass[12pt]{jsarticle}
usepackage{ketpic}
usepackage{graphicx}
usepackage{float}
begin{document}
begin{figure}[H]
centering
input{ketpic/2x.tex}
caption{$f(x)=2x (0<x<1)$のグラフ}
end{figure}
end{document}
- 19. コードの解説
Ketinit()
Setwindow(c(-0.5,1.5),c(-0.5,2.5))
G=Plotdata('2*x','x=c(0,1)')
Gv=Listplot(c(1,0),c(1,2))
SEG1=Listplot(c(0,0),c(1,0),c(1,2))
Windisp(G)
Openfile("2x.tex")
Beginpicture('20mm')
Drwline(G,2)
Drwline(Gv,0.5)
Setax("a0.5","x","s2","f(x)","w","O","nw")
Expr(c(1,2),"w","(1,2)")
Expr(c(1.3,2.4),"e","f(x)=2x (0<x<1)")
Expr(c(1,0),"es2","1")
GH=Hatchdata(list('ii'),list(SEG1,'n'),list(G,'s'),-45,0.5)
Drwline(GH,0.5)
Endpicture(1)
Closefile()
19
データの
作成
作図TeX
書き出し
- 20. Code for generating values
20
# 領域の初期化
Ketinit()
# 作図領域の指定
Setwindow(c(-0.5,1.5),c(-0.5,2.5))
# 関数系のデータ作成
G=Plotdata(‘2*x','x=c(0,1)')
# 線分データの作成
Gv=Listplot(c(1,0),c(1,2))
# 線分データの作成(頂点3つ以上で領域の作成)
SEG1=Listplot(c(0,0),c(1,0),c(1,2))
データの
作成
ここまでがデータ座標データなどの準備
- 21. Code for extracting the TeX source
21
# 書き出すファイルの指定
Openfile(“2x.tex")
# 拡大率の設定(図の1が何mmなのか)
Beginpicture(‘20mm')
# 先ほど設定した線の書き出し
Drwline(G,2) # y=2x
Drwline(Gv,0.5) # 線分
# 軸関連の設定
# Setax(軸の形状,横軸名,横軸名の位置,縦軸名,縦軸名の位置,
# 原点名,原点の位置)
# a0.5 とすると線幅を指定できる
Setax(“a0.5”,"x","s2","f(x)","w","O","nw")
# 座標に文字を書き入れる
# Expr(座標, 東西南北, TeXの数式表現)
Expr(c(1,2),"w","(1,2)")
Expr(c(1.3,2.4),"e","f(x)=2x (0<x<1)")
Expr(c(1,0),”es2","1") # es2とすると右下の下
作図TeX
書き出し
続く
1/2
- 22. Code for extracting the TeX source
22
# 領域の図示
# Hatchdata( 領域の内外,領域の指定:閉曲線や曲線の上下の指定,
# 斜線の向き,線幅 )
GH=Hatchdata(list(‘ii'),list(SEG1,'n'),list(G,'s'),-45,0.5)
# 描画
Drwline(GH,0.5)
# 作図終了の宣言
# 1で座標軸を書く,0で書かずに終了.
Endpicture(1)
# Rでのファイル書き出しの終了の宣言.
Closefile()
作図TeX
書き出し
2/2
- 23. 他にも色々できます
ketpicR_4_3_1_ltd01.zip の中の referenceR4_3_1_ltd.pdf
に様々な関数の説明が書いてあります.
23
2014 年 1 月 2 日
KETpic v4.3.1 ltd コマンド一覧
for R
PD プロットデータ
1 R についての注意
1. KETpic の読込みには次を実行する.
load(”C:/work/ketpic.Rdata”) (C:/work/は作業フォルダ名)
※ ディレクトリの変更は setwd(”c:/work”)
2. 文字列は ”(ダブル)で囲む
※ 文字列の中に文字列を入れるときは ’ と ” を入れ子に使う.
3. 関数などを引数とするときは,文字列とする.
例)G<- Plotdata( ”x^2”, ”x=c(0,1)”)
4. (バックスラッシュ)を出力するには2つ並べてかく.
5. 注釈は #
6. 数と文字列の変換
as.character(数)
as.numeric(文字列)
eval(parse(text=文字列)))
sprintf(書式, 数) 書式付き文字列
7. 異なる型のデータからリストを作るには list を用いる.
作成 L<- list(... , ... );
取り出し A<- L[[i]]
部分リスト L[V] (V はベクトル)
置き換え L[[i]]<- ...
長さ length(L)
- 25. 三乗根
Ketinit()
Setwindow(c(-1.5,1.5),c(-1.5,1.5))
x=seq(0,2*pi,.01)
G=matrix(c(cos(x),sin(x)),length(x),2)
!
Windisp(G)
Openfile("omega.tex")
Beginpicture('2cm')
Dashline(G,1)
!
Setax("a0.7","rm Re","s0.7","rm Im","w","O","sw")
Expr(c(1,0),"es2","1")
Expr(c(cos(2*pi/3),sin(2*pi/3)),"wn","-displaystylefrac{1}{2}+frac{sqrt{3}}{2}i")
Expr(c(cos(4*pi/3),sin(4*pi/3)),"ws","-displaystylefrac{1}{2}-frac{sqrt{3}}{2}i")
Drwxy()
Setpt(5)
Drwpt(c(1,0),1)
Drwpt(c(cos(2*pi/3),sin(2*pi/3)),1)
Drwpt(c(cos(4*pi/3),sin(4*pi/3)),1)
Endpicture(0)
Closefile()
1
−
1
2
+
√
3
2
i
−
1
2
−
√
3
2
i
Re
Im
O
1