我在 tikz 中绘制此图表时遇到了麻烦,有人可以帮我吗?
答案1
从物理角度来看,很可能是完全错误的,但弯曲箭鎖。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{arrows.meta,bending,decorations.markings}
\tikzset{%
attach arrow/.style={
decoration={
markings,
mark=at position 0 with {\pgfextra{%
\pgfmathsetmacro{\tmpArrowTime}{\pgfkeysvalueof{/tikz/arc arrow/length}/(\pgfdecoratedpathlength)}%
\xdef\tmpArrowTime{\tmpArrowTime}}},
mark=at position {#1-3*\tmpArrowTime} with {\coordinate(@1);},
mark=at position {#1-2*\tmpArrowTime} with {\coordinate(@2);},
mark=at position {#1-1*\tmpArrowTime} with {\coordinate(@3);},
mark=at position {#1+\tmpArrowTime/2} with {\coordinate(@4);
\draw[-{Stealth[length=\pgfkeysvalueof{/tikz/arc arrow/length},bend]}] plot[smooth]
coordinates {(@1) (@2) (@3) (@4)};},
},
postaction=decorate,
},
attach arrow/.default=0.5,
arc arrow/.cd,length/.initial=2mm,
}
\begin{document}
\begin{tikzpicture}[>={Stealth[bend]},thick,y=0.5mm,
dot/.style={circle,fill,inner sep=1.2pt},
declare function={y1=5;y2=74;y3=139;y4=85;x1=1;x2=5;}]
\draw[->] (6,0) -- (0,0) -- (0,150) node[above]{$[{}^\circ\mathrm{C}]$};
\draw[attach arrow] (x2,y1) coordinate[dot] (p1) to[out=170,in=-60]
(x1,y2) coordinate[dot] (p2);
\draw[attach arrow] (x1,y3) coordinate[dot] (p3) to[out=0,in=130]
(x2,y4) coordinate[dot] (p4);
\foreach \X in {1,...,4}
{\draw[dashed] (p\X) -- (0,y\X)
node[left]{$\pgfmathparse{y\X}\pgfmathprintnumber\pgfmathresult$};}
\foreach \X [count=\Y starting from 3] in {A,B}
{\draw[dashed] (p\Y) -- (p\Y|-0,0) node[below] {$\X$};}
\end{tikzpicture}
\end{document}