pgfplots / gnuplot : 3D 2- 파라 메트릭 함수를 그리는 방법
Aug 22 2020
2- 모수 곡면 함수를 플로팅하고 싶습니다.
set parametric
splot cos(u)*cos(v),sin(u)*cos(v),sin(v)
(힌트 : gnuplot에 넣으면 작동합니다.)
이러한 특수 기능을 위해서는 pgfplots의 특수 설정이 필요하다고 생각합니다.
그래서 : 두 번째 예제는 왜 아무것도 표시하지 않습니까?
여기 pgfplots에서 어떤 옵션을 설정해야합니까?
% arara: pdflatex: {shell: yes}
\documentclass[margin=3mm, tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest, width=7cm}
\begin{document}
\begin{tikzpicture}
\begin{axis}[title=Works]
\addplot3[]
gnuplot{sin(x)*sin(y)};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}[font=\footnotesize,]
\begin{axis}[title={Works not - what do I have to set?}]
\addplot3[]
gnuplot {
set parametric
splot cos(u)*cos(v),sin(u)*cos(v),sin(v)
};
\end{axis}
\end{tikzpicture}
\end{document}
\end{document}
sth를 제공해야합니다. 이렇게 :
답변
2 TorbjørnT. Aug 23 2020 at 17:07
.gnuplotGnuplot에 전달되는 코드를 확인하기 위해 볼 수 있는 파일을 얻습니다 .
귀하의 경우에는
set table "test.pgf-plot.table"; set format "%.5f"
set format "%.7e";; set samples 25, 25; set dummy x,y; set isosamples 25, 25; splot [x=-5:5] [y=-5:5] set parametric splot cos(u)*cos(v),sin(u)*cos(v),sin(v) ;
보시다시피 splot <domain settings> <your code>, Gnuplot은
splot ... set parametric
splot함수 표현식이 있어야 하기 때문에 작동하지 않습니다 . .log파일 에서 Gnuplot의 오류를 볼 수도 있습니다.
"test.pgf-plot.gnuplot" line 2: undefined variable: set
set문제가 있는 곳은 set parametric.
이 문제를 해결하려면 다음 parametric대신 TikZ 쪽의 키를 사용할 수 있습니다 set parametric.
% arara: pdflatex: {shell: yes}
\documentclass[margin=3mm, tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest, width=7cm}
\begin{document}
\begin{tikzpicture}[font=\footnotesize,]
\begin{axis}[title={Works not - what do I have to set?}]
\addplot3[]
gnuplot [parametric=true] {
cos(u)*cos(v),sin(u)*cos(v),sin(v)
};
\end{axis}
\end{tikzpicture}
\end{document}
또는 raw gnuplot. 이 경우 pgfplots전달되는 대신 Gnuplot 코드에서 도메인 및 샘플 크기를 설정해야합니다 .
% arara: pdflatex: {shell: yes}
\documentclass[margin=3mm, tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest, width=7cm}
\begin{document}
\begin{tikzpicture}[font=\footnotesize,]
\begin{axis}[title={Works not - what do I have to set?}]
\addplot3[]
gnuplot [raw gnuplot] {
set parametric;
splot cos(u)*cos(v),sin(u)*cos(v),sin(v)
};
\end{axis}
\end{tikzpicture}
\end{document}