pgfplots 表面图中的颜色错误

pgfplots 表面图中的颜色错误

我正在尝试将 3d 数据绘制为表面图。但是表面的颜色不对。我尝试了不同的着色器,但似乎没有一个着色器起作用。我认为对于相同的 Z 值,颜色应该相同。

\documentclass{article} 
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}

\begin{axis}[%
width=2.018in,
height=1.698in,
at={(0.339in,0.229in)},
scale only axis,
point meta min=0,
point meta max=1.8,
xmin=0,
xmax=0.2,
tick align=outside,
xlabel style={font=\color{white!15!black}},
xlabel={$X$},
ymin=0,
ymax=1.6,
ylabel style={font=\color{white!15!black}},
ylabel={$Y$},
zmin=0,
zmax=2,
zlabel style={font=\color{white!15!black}},
zlabel={$Z$},
view={-45}{45},
axis background/.style={fill=white},
axis x line*=bottom,
axis y line*=left,
axis z line*=left,
xmajorgrids,
ymajorgrids,
zmajorgrids
]

\addplot3[%
surf,
shader=interp, draw=black, z buffer=sort, colormap/jet, mesh/rows=10]
table[row sep=crcr, point meta=\thisrow{c}] {%
%
x   y   z   c\\
0.02    0.1 0.000836933014342034    0.000836933014342034\\
0.02    0.2 0.00334773205736814 0.00334773205736814\\
0.02    0.3 0.00753239711883609 0.00753239711883609\\
0.02    0.4 0.013390928208828   0.013390928208828\\
0.02    0.5 0.0209233253274806  0.0209233253274806\\
0.02    0.6 0.030129588474806   0.030129588474806\\
0.02    0.7 0.0410097176508092  0.0410097176508092\\
0.02    0.8 0.0535637128554926  0.0535637128554926\\
0.02    0.9 0.0677915740888575  0.0677915740888575\\
0.02    1   0.0836933013509049  0.0836933013509049\\
0.02    1.1 0.101268894633832   0.101268894633832\\
0.02    1.2 0.1205183539637 0.1205183539637\\
0.02    1.3 0.141441679271941   0.141441679271941\\
0.02    1.4 0.16403887060397    0.16403887060397\\
0.02    1.5 0.188309927963666   0.188309927963666\\
0.02    1.6 0.214254851351224   0.214254851351224\\
0.04    0.1 0.00156389526495684 0.00156389526495684\\
0.04    0.2 0.00625558105982738 0.00625558105982738\\
0.04    0.3 0.0140750573743694  0.0140750573743694\\
0.04    0.4 0.025022324218665   0.025022324218665\\
0.04    0.5 0.0390973815928508  0.0390973815928508\\
0.04    0.6 0.0563002294969392  0.0563002294969392\\
0.04    0.7 0.0766308679309348  0.0766308679309348\\
0.04    0.8 0.10008929689484    0.10008929689484\\
0.04    0.9 0.126675516388657   0.126675516388657\\
0.04    1   0.156389526412386   0.156389526412386\\
0.04    1.1 0.189231326958224   0.189231326958224\\
0.04    1.2 0.225200918052232   0.225200918052232\\
0.04    1.3 0.264298299625844   0.264298299625844\\
0.04    1.4 0.306523471724472   0.306523471724472\\
0.04    1.5 0.351876434351998   0.351876434351998\\
0.04    1.6 0.400357187508615   0.400357187508615\\
0.06    0.1 0.00229665158772114 0.00229665158772114\\
0.06    0.2 0.00918660635088458 0.00918660635088458\\
0.06    0.3 0.0206698642792481  0.0206698642792481\\
0.06    0.4 0.0367464253828938  0.0367464253828938\\
0.06    0.5 0.0574162896619585  0.0574162896619585\\
0.06    0.6 0.0826794571164541  0.0826794571164541\\
0.06    0.7 0.112535927746386   0.112535927746386\\
0.06    0.8 0.146985701551756   0.146985701551756\\
0.06    0.9 0.186028778532566   0.186028778532566\\
0.06    1   0.229665158688816   0.229665158688816\\
0.06    1.1 0.277894842012705   0.277894842012705\\
0.06    1.2 0.330717828530292   0.330717828530292\\
0.06    1.3 0.388134118173011   0.388134118173011\\
0.06    1.4 0.450143710986276   0.450143710986276\\
0.06    1.5 0.516746606973967   0.516746606973967\\
0.06    1.6 0.587942806136277   0.587942806136277\\
0.08    0.1 0.00303220449594347 0.00303220449594347\\
0.08    0.2 0.0121288179837739  0.0121288179837739\\
0.08    0.3 0.027289840453249   0.027289840453249\\
0.08    0.4 0.048515271914451   0.048515271914451\\
0.08    0.5 0.0758051123675164  0.0758051123675164\\
0.08    0.6 0.109159361812458   0.109159361812458\\
0.08    0.7 0.148578020249279   0.148578020249279\\
0.08    0.8 0.194061087677984   0.194061087677984\\
0.08    0.9 0.245608564098574   0.245608564098574\\
0.08    1   0.303220449511048   0.303220449511048\\
0.08    1.1 0.366896743907606   0.366896743907606\\
0.08    1.2 0.436637447314307   0.436637447314307\\
0.08    1.3 0.512442559662584   0.512442559662584\\
0.08    1.4 0.594312080997851   0.594312080997851\\
0.08    1.5 0.682246011323989   0.682246011323989\\
0.08    1.6 0.776244350641191   0.776244350641191\\
0.1 0.1 0.00377055252190335 0.00377055252190335\\
0.1 0.2 0.0150822100876134  0.0150822100876134\\
0.1 0.3 0.0339349726868879  0.0339349726868879\\
0.1 0.4 0.0603288403298091  0.0603288403298091\\
0.1 0.5 0.0942638130165135  0.0942638130165135\\
0.1 0.6 0.135739890747013   0.135739890747013\\
0.1 0.7 0.184757073521314   0.184757073521314\\
0.1 0.8 0.241315361339417   0.241315361339417\\
0.1 0.9 0.305414754201324   0.305414754201324\\
0.1 1   0.377055252107037   0.377055252107037\\
0.1 1.1 0.456236855048751   0.456236855048751\\
0.1 1.2 0.542959563052529   0.542959563052529\\
0.1 1.3 0.637223376049803   0.637223376049803\\
0.1 1.4 0.739028294085988   0.739028294085988\\
0.1 1.5 0.848374317164961   0.848374317164961\\
0.1 1.6 0.965261445286921   0.965261445286921\\
0.12    0.1 0.00451243489258604 0.00451243489258604\\
0.12    0.2 0.0180497395703441  0.0180497395703441\\
0.12    0.3 0.0406119140230322  0.0406119140230322\\
0.12    0.4 0.072198958260732   0.072198958260732\\
0.12    0.5 0.112810872283581   0.112810872283581\\
0.12    0.6 0.16244765609159    0.16244765609159\\
0.12    0.7 0.221109309684766   0.221109309684766\\
0.12    0.8 0.288795833063109   0.288795833063109\\
0.12    0.9 0.365507226226622   0.365507226226622\\
0.12    1   0.451243489175306   0.451243489175306\\
0.12    1.1 0.546004621901357   0.546004621901357\\
0.12    1.2 0.649790624430837   0.649790624430837\\
0.12    1.3 0.762601496695178   0.762601496695178\\
0.12    1.4 0.884437238739795   0.884437238739795\\
0.12    1.5 1.01529785056857    1.01529785056857\\
0.12    1.6 1.15518333218169    1.15518333218169\\
0.14    0.1 0.00525969968187338 0.00525969968187338\\
0.14    0.2 0.0210387987274935  0.0210387987274935\\
0.14    0.3 0.0473372971266183  0.0473372971266183\\
0.14    0.4 0.0841551948893296  0.0841551948893296\\
0.14    0.5 0.131492492015764   0.131492492015764\\
0.14    0.6 0.189349188505935   0.189349188505935\\
0.14    0.7 0.257725284359845   0.257725284359845\\
0.14    0.8 0.336620779577499   0.336620779577499\\
0.14    0.9 0.426035674158897   0.426035674158897\\
0.14    1   0.52596996810404    0.52596996810404\\
0.14    1.1 0.636423661405126   0.636423661405126\\
0.14    1.2 0.757396754088215   0.757396754088215\\
0.14    1.3 0.88888924608474    0.88888924608474\\
0.14    1.4 1.03090113744011    1.03090113744011\\
0.14    1.5 1.18343242815822    1.18343242815822\\
0.14    1.6 1.34648311823925    1.34648311823925\\
0.16    0.1 0.00601956490652337 0.00601956490652337\\
0.16    0.2 0.0240782596260935  0.0240782596260935\\
0.16    0.3 0.0541760841484682  0.0541760841484682\\
0.16    0.4 0.0963130384837294  0.0963130384837294\\
0.16    0.5 0.150489122632014   0.150489122632014\\
0.16    0.6 0.216704336593334   0.216704336593334\\
0.16    0.7 0.294958680367695   0.294958680367695\\
0.16    0.8 0.385252153955098   0.385252153955098\\
0.16    0.9 0.487584757355546   0.487584757355546\\
0.16    1   0.601956490569039   0.601956490569039\\
0.16    1.1 0.728367353587774   0.728367353587774\\
0.16    1.2 0.866817346437813   0.866817346437813\\
0.16    1.3 1.01730646905059    1.01730646905059\\
0.16    1.4 1.17983472147151    1.17983472147151\\
0.16    1.5 1.35440210370447    1.35440210370447\\
0.16    1.6 1.54100861574965    1.54100861574965\\
0.18    0.1 0.00684707188551121 0.00684707188551121\\
0.18    0.2 0.0273882875420448  0.0273882875420448\\
0.18    0.3 0.0616236469593587  0.0616236469593587\\
0.18    0.4 0.109553150147535   0.109553150147535\\
0.18    0.5 0.17117679710671    0.17117679710671\\
0.18    0.6 0.246494587836897   0.246494587836897\\
0.18    0.7 0.335506522338099   0.335506522338099\\
0.18    0.8 0.43821260061032    0.43821260061032\\
0.18    0.9 0.554612822653561   0.554612822653561\\
0.18    1   0.684707188467822   0.684707188467822\\
0.18    1.1 0.828495698045302   0.828495698045302\\
0.18    1.2 0.985978351412062   0.985978351412062\\
0.18    1.3 1.15715514849953    1.15715514849953\\
0.18    1.4 1.34202608935313    1.34202608935313\\
0.18    1.5 1.54059117397673    1.54059117397673\\
0.18    1.6 1.75285040237053    1.75285040237053\\
0.2 0.1 200 200\\
0.2 0.2 200 200\\
0.2 0.3 200 200\\
0.2 0.4 200 200\\
0.2 0.5 200 200\\
0.2 0.6 200 200\\
0.2 0.7 200 200\\
0.2 0.8 200 200\\
0.2 0.9 200 200\\
0.2 1   200 200\\
0.2 1.1 200 200\\
0.2 1.2 200 200\\
0.2 1.3 200 200\\
0.2 1.4 200 200\\
0.2 1.5 200 200\\
0.2 1.6 200 200\\
};
\end{axis}
\end{tikzpicture}%

\end{document}

它看起来像什么(pgfplots 输出):

在此处输入图片描述

它看起来应该是这样的(Matlab 输出):

在此处输入图片描述

答案1

基于薛定谔猫的精彩评论,您可以使用它z expr={min(\thisrow{z}, 1.8)来截断z值。我删除了该c列,因为它只是重复了z值。

注意:某些 PDF 查看器的输出可能不正确,因此如果您没有看到与下面相同的内容,请尝试其他查看器。ImageMagick 的convert工具生成了下面的图像,Okular 至少可以正常显示它。

\documentclass[tikz, border=2mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
  width=2.018in,
  height=1.698in,
  at={(0.339in,0.229in)},
  scale only axis,
  xmin=0,
  xmax=0.2,
  tick align=outside,
  xlabel style={font=\color{white!15!black}},
  xlabel={$X$},
  ymin=0,
  ymax=1.6,
  ylabel style={font=\color{white!15!black}},
  ylabel={$Y$},
  zlabel style={font=\color{white!15!black}},
  zlabel={$Z$},
  view={-45}{45},
  axis background/.style={fill=white},
  axis x line*=bottom,
  axis y line*=left,
  axis z line*=left,
  xmajorgrids,
  ymajorgrids,
  zmajorgrids
]

\addplot3[
  surf, shader=interp, draw=black, z buffer=sort, colormap/jet, mesh/rows=10,
  ] table[row sep=crcr, z expr={min(\thisrow{z}, 1.8)}] {
%
x       y   z\\
0.02    0.1 0.000836933014342034\\
0.02    0.2 0.00334773205736814\\
0.02    0.3 0.00753239711883609\\
0.02    0.4 0.013390928208828\\
0.02    0.5 0.0209233253274806\\
0.02    0.6 0.030129588474806\\
0.02    0.7 0.0410097176508092\\
0.02    0.8 0.0535637128554926\\
0.02    0.9 0.0677915740888575\\
0.02    1   0.0836933013509049\\
0.02    1.1 0.101268894633832\\
0.02    1.2 0.1205183539637\\
0.02    1.3 0.141441679271941\\
0.02    1.4 0.16403887060397\\
0.02    1.5 0.188309927963666\\
0.02    1.6 0.214254851351224\\
0.04    0.1 0.00156389526495684\\
0.04    0.2 0.00625558105982738\\
0.04    0.3 0.0140750573743694\\
0.04    0.4 0.025022324218665\\
0.04    0.5 0.0390973815928508\\
0.04    0.6 0.0563002294969392\\
0.04    0.7 0.0766308679309348\\
0.04    0.8 0.10008929689484\\
0.04    0.9 0.126675516388657\\
0.04    1   0.156389526412386\\
0.04    1.1 0.189231326958224\\
0.04    1.2 0.225200918052232\\
0.04    1.3 0.264298299625844\\
0.04    1.4 0.306523471724472\\
0.04    1.5 0.351876434351998\\
0.04    1.6 0.400357187508615\\
0.06    0.1 0.00229665158772114\\
0.06    0.2 0.00918660635088458\\
0.06    0.3 0.0206698642792481\\
0.06    0.4 0.0367464253828938\\
0.06    0.5 0.0574162896619585\\
0.06    0.6 0.0826794571164541\\
0.06    0.7 0.112535927746386\\
0.06    0.8 0.146985701551756\\
0.06    0.9 0.186028778532566\\
0.06    1   0.229665158688816\\
0.06    1.1 0.277894842012705\\
0.06    1.2 0.330717828530292\\
0.06    1.3 0.388134118173011\\
0.06    1.4 0.450143710986276\\
0.06    1.5 0.516746606973967\\
0.06    1.6 0.587942806136277\\
0.08    0.1 0.00303220449594347\\
0.08    0.2 0.0121288179837739\\
0.08    0.3 0.027289840453249\\
0.08    0.4 0.048515271914451\\
0.08    0.5 0.0758051123675164\\
0.08    0.6 0.109159361812458\\
0.08    0.7 0.148578020249279\\
0.08    0.8 0.194061087677984\\
0.08    0.9 0.245608564098574\\
0.08    1   0.303220449511048\\
0.08    1.1 0.366896743907606\\
0.08    1.2 0.436637447314307\\
0.08    1.3 0.512442559662584\\
0.08    1.4 0.594312080997851\\
0.08    1.5 0.682246011323989\\
0.08    1.6 0.776244350641191\\
0.1 0.1 0.00377055252190335\\
0.1 0.2 0.0150822100876134\\
0.1 0.3 0.0339349726868879\\
0.1 0.4 0.0603288403298091\\
0.1 0.5 0.0942638130165135\\
0.1 0.6 0.135739890747013\\
0.1 0.7 0.184757073521314\\
0.1 0.8 0.241315361339417\\
0.1 0.9 0.305414754201324\\
0.1 1   0.377055252107037\\
0.1 1.1 0.456236855048751\\
0.1 1.2 0.542959563052529\\
0.1 1.3 0.637223376049803\\
0.1 1.4 0.739028294085988\\
0.1 1.5 0.848374317164961\\
0.1 1.6 0.965261445286921\\
0.12    0.1 0.00451243489258604\\
0.12    0.2 0.0180497395703441\\
0.12    0.3 0.0406119140230322\\
0.12    0.4 0.072198958260732\\
0.12    0.5 0.112810872283581\\
0.12    0.6 0.16244765609159\\
0.12    0.7 0.221109309684766\\
0.12    0.8 0.288795833063109\\
0.12    0.9 0.365507226226622\\
0.12    1   0.451243489175306\\
0.12    1.1 0.546004621901357\\
0.12    1.2 0.649790624430837\\
0.12    1.3 0.762601496695178\\
0.12    1.4 0.884437238739795\\
0.12    1.5 1.01529785056857\\
0.12    1.6 1.15518333218169\\
0.14    0.1 0.00525969968187338\\
0.14    0.2 0.0210387987274935\\
0.14    0.3 0.0473372971266183\\
0.14    0.4 0.0841551948893296\\
0.14    0.5 0.131492492015764\\
0.14    0.6 0.189349188505935\\
0.14    0.7 0.257725284359845\\
0.14    0.8 0.336620779577499\\
0.14    0.9 0.426035674158897\\
0.14    1   0.52596996810404\\
0.14    1.1 0.636423661405126\\
0.14    1.2 0.757396754088215\\
0.14    1.3 0.88888924608474\\
0.14    1.4 1.03090113744011\\
0.14    1.5 1.18343242815822\\
0.14    1.6 1.34648311823925\\
0.16    0.1 0.00601956490652337\\
0.16    0.2 0.0240782596260935\\
0.16    0.3 0.0541760841484682\\
0.16    0.4 0.0963130384837294\\
0.16    0.5 0.150489122632014\\
0.16    0.6 0.216704336593334\\
0.16    0.7 0.294958680367695\\
0.16    0.8 0.385252153955098\\
0.16    0.9 0.487584757355546\\
0.16    1   0.601956490569039\\
0.16    1.1 0.728367353587774\\
0.16    1.2 0.866817346437813\\
0.16    1.3 1.01730646905059\\
0.16    1.4 1.17983472147151\\
0.16    1.5 1.35440210370447\\
0.16    1.6 1.54100861574965\\
0.18    0.1 0.00684707188551121\\
0.18    0.2 0.0273882875420448\\
0.18    0.3 0.0616236469593587\\
0.18    0.4 0.109553150147535\\
0.18    0.5 0.17117679710671\\
0.18    0.6 0.246494587836897\\
0.18    0.7 0.335506522338099\\
0.18    0.8 0.43821260061032\\
0.18    0.9 0.554612822653561\\
0.18    1   0.684707188467822\\
0.18    1.1 0.828495698045302\\
0.18    1.2 0.985978351412062\\
0.18    1.3 1.15715514849953\\
0.18    1.4 1.34202608935313\\
0.18    1.5 1.54059117397673\\
0.18    1.6 1.75285040237053\\
0.2 0.1 200\\
0.2 0.2 200\\
0.2 0.3 200\\
0.2 0.4 200\\
0.2 0.5 200\\
0.2 0.6 200\\
0.2 0.7 200\\
0.2 0.8 200\\
0.2 0.9 200\\
0.2 1   200\\
0.2 1.1 200\\
0.2 1.2 200\\
0.2 1.3 200\\
0.2 1.4 200\\
0.2 1.5 200\\
0.2 1.6 200\\
};
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

这个答案是“社区维基”,但到目前为止合法地属于薛定谔的猫;我发布它是为了让人们可以看到结果并在必要时改进它(薛定谔的猫最初有一个查看器问题)。

相关内容