脳卒中左片麻痺になりました

twitter http://twitter.com/#!/ti5942

タグ: QTikZ

Screenshot01Screenshot02Screenshot03

・読み込めるテキストファイルのデータ形式
共通で読める形式は2つの数の組でセパレートは空白(space)
なお,plot fileでは先頭文字が#, % の行はコメント行ですが,DataVisualizationでは,#はエラーになる...

例えば,
# ではDVがエラーになるが...
Screenshot01Screenshot02Screenshot03






% のときは正常に完了します.
Screenshot01Screenshot02Screenshot03






【Data Visualization】

折れ線(line),曲線(smooth line),マークのみ(scatter)の3種類あり,座標も2種類(school box axes,scientific axes)自動でつけられる.
マーク付き折れ線のような重ね描きもできる.
Screenshot01Screenshot02Screenshot03

Screenshot01Screenshot02Screenshot03

また,座標軸のみの表示もできる.
Screenshot01


【plot file】

・指定なし→折れ線グラフ,マーク指定,マークのみ指定でDVと同じ形状のグラフが描ける
Screenshot01Screenshot02Screenshot03

Screenshot01Screenshot03


・座標軸等を描くのはちょっと面倒なので,DVの座標軸に重ね書きする.単位長さを一致させることが重要.
Screenshot01

x axis={ticks ={step=10},length=10cm,include value=100,label},

school book axesでは,原点を含めるので

x軸が0から100までで長さ10cmとるので1単位0.1cm

(もし100を含まなければ,xの最大値90で10cmだから1単位10/90cmで誤差がでる.)

だから


\begin{scope}[x=0.1cm]

【棒グラフ(ybar)を描こう!】

棒グラフとヒストグラム


Screenshot01Screenshot02



Screenshot01
Rを使えば,50個のデータから度数分布表を作らないでも即ヒストグラムが描けるけど...
ここでは,階級が10〜100まで10点刻みで,各範囲の個数は?
Screenshot01

> h$counts
[1]  3  4  3  8  8 12  9  2  1

だから,データxをソートして区切ってみると

> sort(x)
 [1] 15 18 20 23 25 25 30 | 35 40 40 | 45 45 46 46 48 50 50 50 | 55 55 56 57
[23] 58 60 60 60 | 62 62 63 63 65 65 65 67 67 70 70 70 | 75 75 75 78 78 78
[45] 79 79 80 | 85 90 | 95

aとbの間のデータというのは a < x[i] ≦ b (aより大きくてb以下)ということがわかる

ところが教科書をみてみると
DSC_0024


階級の区切りが15〜95の10刻みで範囲が以上未満になってる.
加えて「95点のデータ」は85点以上95点未満に入れますとなってる.(^_^;)

そこでhist関数のヘルプをみてみると

Screenshot01Screenshot02

ということで,とりあえず次のように描き変えた.

Screenshot01

yラベルを「縦書き」にするにはtikzコード化してから.

【tikzコード化】
library(tikzDevice)
tikz("tex/tikz/成績ヒストグラム.tikz")
hist(x,breaks = seq(15,95,10),right=F,col = "cyan",
     main="成績ヒストグラム",xlab="成績",ylab="人数")
dev.off()
訂正
library(tikzDevice)
tikz("tex/tikz/成績ヒストグラム.tikz")
hist(x,breaks = seq(15,95,10),right=F,col = "cyan",
     main="成績ヒストグラム",xlab="成績",ylab="人数")
dev.off()

これなら「警告メッセージ」は出ない
Screenshot01

QTikZで見てみる
Screenshot01Screenshot02
standaloneクラス,previewパッケージどちらのテンプレートでも大丈夫みたいだ.

注意.
QtikZでファイル保存すると日本語部分が文字化けする.

Pandocでも試してみる
とりあえず,別名「成績ヒストグラム1.tikz」で保存する.

【lualatex】
pandoc-luaP
Screenshot01Screenshot02


pandoc-luaS
Screenshot01Screenshot02



【uplatex】
Pandoc-uplatexP
Screenshot01Screenshot02Screenshot03




Pandoc-uplatexS

Screenshot01Screenshot02Screenshot03


standaloneクラスのときはワーニングが出る...

実はどちらもjsarticleクラス
Screenshot01Screenshot02

これをbxjsarticleクラスにするとどうなるか?
Screenshot01Screenshot02

Screenshot01Screenshot02Screenshot03




Pandoc-uplatexPbx
Screenshot01Screenshot02Screenshot03


Pandoc-uplatexSbx
Screenshot01Screenshot02Screenshot03



ありゃ,どちらもjsarticleのときと同じ結果だな.当然か...


y軸ラベルとラベルを縦書きに修正
Screenshot01Screenshot02Screenshot03




QTikZでラベルの大きさと位置を調整して,PNG形式でエクスポート(ブログにアップするため)
Screenshot01成績ヒストグラム1
なお,QTikZのテンプレートをpreviewパッケージのもの(template_luaP.pgs)にすると縦書きの「人数」が横になる...
Screenshot01Screenshot02


Pandocの場合はどうだろうか?

IMG_20170504_163634

とりあえず,QTikZで作りましたが...
Screenshot01

previewパッケージのほうは正常完了したのですが(^_^;)

Screenshot02

standaloneクラスのほうは,ノードオプションの text width=5cmがエラーになりましたΣ(゚Д゚)

QTikZで保存すると日本語が文字化けするのでコピペでGeditで適当な名前「尺度水準.tikz」にして保存しました.
Screenshot01Screenshot02Screenshot03

次に外部コマンドでコンパイル(タイプセット)です.
Screenshot01Screenshot02

ありゃりゃ失敗しました...
Screenshot01Screenshot02

修正しました.今度は大丈夫です!

Screenshot01Screenshot02








【使用方法】
Rで変換したTeXコードを必要なら修正して,画像(EPS,PDF,PNG)化してエクスポートする.
注意.
ソースに日本語がある場合保存するとその日本語が文字化けするので別のエディタにコピペして保存する必要がある.(面倒)
なお,GEdit+Pandocなら大丈夫で,エンジンをuplatexにすることも可能.

【設定】
Screenshot01Screenshot02

コマンドのPDFLaTeXを lualatex に変更する.

【補足】
テンプレート
置き換える文字列:<> を$body$に変更すれば,PandocのLaTeX用テンプレートが使える.

【テンプレート(T)】

previewパッケージを使う(/home/ti5942/テンプレート/QTikZ/template_luaP.pgs)
Screenshot01Screenshot02


standaloneパッケージを使う(/home/ti5942/テンプレート/QTikZ/template_luaS.pgs)

Screenshot01Screenshot02


【確認】

previewパッケージを使った場合,「縦書き部分が横になってしまう」(^_^;)
Screenshot01Screenshot02


standaloneパッケージの場合はうまくいく!
Screenshot01Screenshot02

残念ながら,QTikZで日本語文書を保存すると,日本語が化けますが...

確認や画像出力(EPS,PDF,PNG)で役に立つぞ!

散布図02

QTikZ

Screenshot01Screenshot02Screenshot03






テンプレートのプリアンブルはLyX(uplatex)とほとんど同じ

Screenshot01Screenshot02

QTikZではPDFLaTeX コマンドに lualatex を指定してます.
Screenshot01

なので,
% 部分縦書き
%\usepackage{plext}
\usepackage{lltjext}
% okumacro
%\usepackage{okumacro}
\usepackage{bxokumacro}

%\usepackage[moga-mobo]{pxchfon}

QTikZで保存すると日本語が文字化けすることは非常に残念ですが...

まあ,Gedit+Pandocで「編集・保存→PDF作成」できるからな\(^o^)/

Screenshot01Screenshot02Screenshot03


「画像の挿入」したところ、画像の形式の変換が走り、LyXの画面に画像が表示された。

まずは、英語風で作成
Screenshot01Screenshot02

ラベルを削除してエクスポートする。このとき

\useasboundingbox ($(0,0)-(1,1)$)rectangle ($(15,10)+(1,1)$);

としておく。



Screenshot01Screenshot02


このty2-09w_000.pdfに日本語ラベルをセットする

Screenshot01Screenshot02





どうせだから、マニュアルと同じ感じで書いてみよう!
screenshot1

これも、textextでOK!
screenshot1

ということで、今 TikZ - TeX Wiki: で扱っている図形なら、Inskscapeのtextextでも問題なく描けます。
でも、何故コラボ?

QTikZでPDFにして、そのPDFをInskscapeで開けばいいんじゃないの?

という疑問があるでしょう。QTikZでは、EPS,PDF,PNG形式の画像でエクスポートできるからね。


実は。。。 QTikZには、致命的な欠点がある!? のです(^_^;)

日本語を含むソースを
内部エディタで保存すると、日本語が文字化けし、そのソースは使い物にならないのです。。。
そこで、一つの対策として、外部エディタで保存するという手を使うのです。

そこで、そのエディタにtextextを選べば、ソースはSVG画像の中に格納されるので、画像閲覧中に気になる画像のTeXソースは、その画像をInkscape・textextで開くことにより、すぐにチェックできるということです。

まずは、QTikZの設定。
screenshot1

テンプレートの置き換える文字列を「$body$」に変更する
screenshot1

QTikZ用テンプレートもすべて変更
例えば
screenshot1screenshot2

pdflatexの場合はCJK-LaTeXにしておこう
screenshot1

とりあえず、QTikZで動作確認

screenshot1
オオーw(*゚o゚*)w

screenshot1screenshot2

次にgeditに新規ツール追加
screenshot1screenshot2screenshot3


tikzpictureだけのソース
screenshot1

に対し、先ほどの新規ツールを施せば、
screenshot1screenshot2screenshot3



screenshot1screenshot2screenshot3



screenshot1screenshot2screenshot3



PDFの作り方 - TeX Wiki:
screenshot1

******
ここで (100, 400) が挿入したい長方形部分の左下隅の座標,(500, 700) が右上隅の座標です。 もちろん数値は適当に変えてください。 単位はポイント (= 1/72 inch) で,紙の左下隅が原点 (0, 0) です。
******

Ubuntu でも
screenshot2screenshot1screenshot1

というふうに、簡単にPDFが得られます。
UbuntuでPDF上の点の位置座標を知るツールは、私は「gv」しか知りませんでした。
screenshot1
OS Xには便利なツールがあるかも。。。

そこで、今回のpdffillです。これをQTikZで使います。
グリッド表示しか使わないので、pdflatex
設定とテンプレート
screenshot1screenshot2

以前試したファイルを開きます。
screenshot1

ページ指定を1にする。
screenshot1

そして、今回作ったPDFのパス名を指定すると
screenshot1
これを見ながらbbの値を指定(単位は、ミリかセンチ)すればいいです。非常に楽ですね。ヾ(=^▽^=)ノ

注意.
QTikZでは、日本語は、使えるけど。。。内部エディタで保存すると、日本語が文字化けします(^_^;)
だから、事務書類の編集には使えません!(T_T)

このページのトップヘ