В соответствии с просьбой, я выкладываю решение я нашел. В первую очередь вы можете найти полную документацию здесь: https://cran.r-project.org/web/packages/tikzDevice/vignettes/tikzDevice.pdf
С этим пакетом весь ваш график получает стиль форматирования в формате LaTeX. Таким образом, вы получаете лучшие числа и даже буквы, которые теперь находятся в математическом стиле (если вы используете $$, очевидно). Вы также можете добавить несколько букв через некоторые команды, которые вы не сможете добавить без него. Мне понадобилось, например, ввести эту команду LaTeX: \ mathcal {M}
Это решение, которое я нашел, используя пакет tikzDevice. Этот пакет позволяет вам создать файл, который мы назовем «plot.tex» из вашего участка R. Вы не увидите сюжет немедленно (или, по крайней мере, я еще не узнал об этом). Как только пакет создает этот plot.tex, вы должны включить его в другой из ваших .tex-файлов. Файл, в котором вы хотите его отобразить. Это путь:
\begin{figure}
\input{plot.tex}
\end{figure}
явно положить
\usepackage{tikz}
в преамбуле.
Код в Rstudio больше или меньше, как это, имея в виду код на мой вопрос:
#Defintion of f
b=7/5
fx <- function (x,b) x^(4*(b-1)/(b+1)) *(1/(b-1)+1/x)
#find minimum of f (oviously optional)
fmin <- optimize(fx, interval=c(0,2), b=7/5)
#Density of points in the x-asxis
x <- seq(10^(-4),20, by = 0.01)
#Assign value to y
y <- fx(x,b)
#call the tikzDevice package, don't forget the dev.off() at the end or you won't be able to produce a proper file
library(tikzDevice)
#name the file you want to create and decide its dimensions
tikz('faggy.tex',
width=5.5,height=4)
#do your normal plot as usual: you can add any LaTeX symbol as you can see below
#plot_f(x)_______________
plot(x, y, log="xy", ann="FALSE", pch=20, type="l",lwd=2, xlim=c(10^(-3),10),
ylim=c(1.5,40), xaxt="n", yaxt="n")
#code useful to plot the lines that touch of the minimum of the function
linea1 <- seq(1,fmin[[2]], by = 0.01)
xminimo <- numeric(length(linea1))
xminimo <- rep(fmin[1],length(linea1))
linea2 <- seq(10^(-4),fmin[[1]], by = 0.01)
fminimo <- numeric(length(linea2))
fminimo <- rep(fmin[2],length(linea2))
#plot_lines___
points(xminimo,linea1, pch=20, type="l", lwd=2, lty=2, col="blue")
points(linea2,fminimo, pch=20, type="l", lwd=2, lty=2, col="blue")
#writing on the axis: you can use LaTeX here!!! any symbol or command, like \mathcal{}
mtext("$x$", side=1, line=2, cex=1, col="black")
mtext("$f(x)$", side=2, line=2, cex=1, col="black", las=2)
#assex, example of the use \mathcal, I didn't need it there oviously :)
axis(1,at=fmin[1], label=paste("$\\mathcal{M}_{min}$"))
axis(1,at=0.001, label=0.001)
axis(1,at=0.01, label=0.01)
axis(1,at=1, label=1)
axis(1,at=10, label=10)
#assey
axis(2,at=fmin[2], label=paste("$f_{min}$"),las = 2)
axis(2,at=2, label=2,las = 2)
axis(2,at=5, label=5,las = 2)
axis(2,at=10, label=10,las = 2)
axis(2,at=20, label=20,las = 2)
axis(2,at=40, label=40,las = 2)
dev.off()
# 1 'axis' не имеет' label' аргумент, # 2, где это 'TeX' родом ? Пожалуйста, дополняйте вопросы R минимальным представительным примером (copy-paste-run'able), который иллюстрирует ваши попытки и проблемы. – lukeA
Я отредактировал пост, пишущий мой код, TeX пришел из пакета latex2exp, а у оси ye был аргумент метки, можете ли вы мне помочь? –
Спасибо. Вы имеете в виду '\ mathcal' вместо' \ mathchal'? '' \\ mathcal "% in% latex2exp_supported()' is 'FALSE', что означает, что пакет не поддерживает его. – lukeA