17

R では、プロット軸のラベルがLaTeXexpression(theta[l])と同じになるように使用します。$\theta_l$審美的な理由から、むしろ を表示したいと思います$\theta_\ell$。手伝って頂けますか?

ここに画像の説明を入力


編集

前に、私はした

plot(1:10, 1:10, xlab=expression(theta[l]))

結果の画像をpdfでエクスポートしました。次に、

\begin{figure}[htbp]
\centerline{\includegraphics[scale=.6]{test.pdf}}
\end{figure}

私の写真はLaTeXに挿入されました。

コメントに続いて、ここに私が今やっていることがあります:

require(tikzDevice)
tikz("test.tex", standAlone=TRUE, width=5, height=5)

plot(1:10, 1:10, xlab="$\\theta_\\ell$")

dev.off()
tools::texi2pdf('test.tex')
system(paste(getOption('pdfviewer'),'test.pdf'))

ただし、結果のプロットを LaTeX に挿入すると、図の品質が以前ほど良くありません。他にできることはありますか?

4

4 に答える 4

9

このような単純な問題に、「tikzDevice」のようなメンテナンスされていない可能性のあるパッケージを使用する理由はまったくありません。「tikz」デバイスの問題の一部は、プロットの解像度を指定する「xpinch」および「ypinch」引数を正しく受け入れないように見えることです。

プロットに LaTEX 表記を追加するというより大きな問題がありますが、このローカライズされた問題については、基本の「plotmath」パッケージに筆記体を表示させるためのフォントを指定するという問題があります。

x 軸ラベルのフォントを plot コマンドから分離し、次のように「タイトル」関数内からカスタム フォントを選択することで、そのフォントを変更できます。

plot(1:10, 1:10, xlab="")
windowsFonts(script=windowsFont("Script MT Bold"))
title(xlab=expression(theta[l]), family="script")

行ったことは、最初にスペースを作るために、プロット コマンドで x 軸に null ラベルを指定することです。次に、システム フォントを使用可能なフォント ファミリにロードします (式には Script MT Bold が好きです)。最後に、'title' 関数を使用して x 軸ラベルをプロットし、そのラベル内の任意のテキストのファミリを指定できます。

これにより、プロッティング デバイスの元の機能がすべて保持されるため、PDF への変換時に解像度が低下することはなくなります。

チャートのデモ

「tikzDevice」パッケージ以外で LaTEX 表記の問題を解決できる人がいる場合は、ぜひお知らせください。これをうまく行う唯一の方法は、モデルを反転し、「tikz」LaTEX パッケージを使用して、LaTEX ファイル内からグラフィック全体を手動で描画するか、「pixmap」R パッケージを使用して表現のイメージを描画することです。プロットの上部。どちらも完璧なアプローチとは思えません。

于 2013-03-22T15:46:47.570 に答える
3

tikzDevice ここに行く方法だと思います。からインストールできますR-forge

install.packages("tikzDevice", repos="http://R-Forge.R-project.org")

tikz /pgf の哲学は、タイプセット可能なプロットを作成することです。おそらく、これらをドキュメントと一致させたいと思うでしょう。たとえば、同じパッケージ、フォント、フォントサイズなど

tikz設定することにより、呼び出し内でこれらのことを設定できます

文書宣言などのオプション

options(tikzDocumentDeclaration = "\\documentclass[10pt]{article}")

パッケージ

tikzLatexPackages(または類似)

フォントサイズも制御できます。

これらすべての詳細は、

?tikzDevice.


knitrまた、リテラル プログラミング ドキュメント (.rnw) 内でプロットを作成するために使用することもできます。

この場合、tikz デバイスを使用して、ドキュメント全体と同じドキュメント宣言とヘッダー/パッケージを使用して、pdf が作成されます (外部 = TRUE として)。

\documentclass[12pt,a4paper]{article}

\begin{document}

<<setup, include = FALSE>>=
opts_chunk$set(dev = 'tikz', external = TRUE)
@


<<myplot, fig.width=5, fig.height = 5, echo=FALSE>>=
plot(1:10, 1:10, xlab="$\\theta_\\ell$")
@

\end{document}
于 2013-03-25T03:02:09.073 に答える
1

これはやや汚い解決策ですが、次のようになります。

plot(1,1, xlab=expression(theta))
title(xlab="    \u2113",line=3.2,cex.lab=.7)

シータ記号を使用した最初のプロット。次に、小さいフォント サイズで \ell 記号を追加し、手動で位置を設定します。

ここに画像の説明を入力

于 2013-03-22T20:14:55.530 に答える
1

ここで回避策を見つけました。彼らは、エンコーディングを標準のpdfデバイスで動作させるための長いプロセスを説明しています. それ以外の場合は、 Cairoパッケージをインストールすることで CairoPDF デバイスを使用できます。次にxlab="\u2113"、@Julián Urbanoのソリューションを使用して、pdfに次のようなものが表示されます。式の中でその文字を使うのは運が悪かった.

于 2014-10-29T02:41:20.247 に答える