好吧,我对 LaTeX 还很陌生,但我尽了最大的努力为我的问题寻找解决方案,但找不到合适的答案,所以我希望这里有人能给我答案或其他建议。
我想“平滑”我的曲线,但如果这样做,曲线将部分为负,这在物理上是不可能的,因此我的论文没有解决方案。我读到这种情况是由于使用的算法造成的。
有人知道如何解决这个问题吗? 还有其他方法可以平滑我的图表吗? 也许可以使用其他包或命令?
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{tabularx}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{booktabs}
\usepackage{float}
\begin{document}
\begin{figure}[H]
\begin{center}
\begin{tikzpicture}
\begin{axis}[
%title=Without legend box,
legend style={draw=none},
grid = major,
%ymin=0,
%ymax=0.000012,
xmax=144,
xmin=100,
%legend columns=2,
width=0.65\textwidth,
height=6.8cm,
legend style={
cells={anchor=east},
legend pos=outer north east,
}]
\pgfplotstableread{Help.txt}
\datatable
\addplot[smooth, no markers, color=black, line width=1.25pt] table[y = P3] from \datatable ;
\addlegendentry{1} ;
\addplot[smooth, no markers, color=blue, line width=1.25pt] table[y = P4] from \datatable ;
\addlegendentry{2} ;
\end{axis}
\end{tikzpicture}
\end{center}
\end{figure}
\end{document}
数据
f P3 P4
100 0.000004 0
102 0.000014 0
104 0.000008 0
106 0.000017 0
108 0.000021 0
110 0.000043 0
112 0.000126 0.000005
114 0.000347 0.000023
116 0.0012 0.000113
118 0.00599 0.000735
120 0.061 0.0036
122 0.9 0.144
122.227 1.5 0.273
124 0.13 0.007
126 0.0053 0.0012
128 0.0022 0.00043
130 0.0003 0.0002
132 0.000246 0.000103
134 0.000132 0.000065
136 0.000072 0.00004
138 0.000045 0.000027
140 0.000032 0.00002
142 0.000024 0.000013
144 0.000016 0.000011
答案1
运行以下命令xelatex
:
\documentclass[pstricks,border=10pt]{standalone}
\usepackage{filecontents}
\begin{filecontents*}{file.data}
f P3 P4
100 0.000004 0
102 0.000014 0
104 0.000008 0
106 0.000017 0
108 0.000021 0
110 0.000043 0
112 0.000126 0.000005
114 0.000347 0.000023
116 0.0012 0.000113
118 0.00599 0.000735
120 0.061 0.0036
122 0.9 0.144
122.227 1.5 0.273
124 0.13 0.007
126 0.0053 0.0012
128 0.0022 0.00043
130 0.0003 0.0002
132 0.000246 0.000103
134 0.000132 0.000065
136 0.000072 0.00004
138 0.000045 0.000027
140 0.000032 0.00002
142 0.000024 0.000013
144 0.000016 0.000011
\end{filecontents*}
\usepackage{pst-plot}
\begin{document}
\begin{pspicture}(-5mm,-10mm)(5.5,3)
\psset{yunit=2}
\psaxes[Ox=100,Dx=10,dx=1,Dy=0.5,axesstyle=frame, xticksize=-0.25 1.5,yticksize=0 5,
subticks=5,subticksize=1,subtickcolor=black!15,labelFontSize=\scriptstyle](0,0)(0,-0.25)(5,1.5)
\readdata[ignoreLines=1]{\data}{file.data}
\pstScalePoints(1,1){100 sub 10 div }{}
\pslistplot[linecolor=blue,linewidth=1pt,plotNo=1,plotNoMax=2,plotstyle=bezier,xEnd=123]{\data}
\pslistplot[linecolor=blue,linewidth=1pt,plotNo=1,plotNoMax=2,plotstyle=curve,xStart=122.2]{\data}
\pslistplot[linecolor=red,linewidth=1pt,plotNo=2,plotNoMax=2,plotstyle=bezier,xEnd=123]{\data}
\pslistplot[linecolor=red,linewidth=1pt,plotNo=2,plotNoMax=2,plotstyle=curve,xStart=122.2]{\data}
\end{pspicture}
\end{document}
答案2
键tension
可以调整转弯的平滑程度,在这种情况下,您可以稍微降低它。但是,对于图表的科学表示,永远不要使用平滑,因为它会扭曲数据。
\documentclass[border=10pt]{standalone}
\usepackage{pgfplotstable}
\pgfplotstableread{
f P3 P4
100 0.000004 0
102 0.000014 0
104 0.000008 0
106 0.000017 0
108 0.000021 0
110 0.000043 0
112 0.000126 0.000005
114 0.000347 0.000023
116 0.0012 0.000113
118 0.00599 0.000735
120 0.061 0.0036
122 0.9 0.144
122.227 1.5 0.273
124 0.13 0.007
126 0.0053 0.0012
128 0.0022 0.00043
130 0.0003 0.0002
132 0.000246 0.000103
134 0.000132 0.000065
136 0.000072 0.00004
138 0.000045 0.000027
140 0.000032 0.00002
142 0.000024 0.000013
144 0.000016 0.000011
}\datatable
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={draw=none},
grid = major,
xmax=144,xmin=100,
width=0.65\textwidth,
height=6.8cm,
legend style={
cells={anchor=east},
legend pos=outer north east,
}]
\addplot[smooth,tension=0.3,no markers, color=black, line width=1.25pt] table[y = P3] from \datatable ;
\addlegendentry{1} ;
\addplot[smooth,tension=0.25,no markers, color=blue, line width=1.25pt] table[y = P4] from \datatable ;
\addlegendentry{2} ;
\end{axis}
\end{tikzpicture}
\end{document}