三维图中的二维图形

三维图中的二维图形

我正在尝试使用多个二维图形创建三维图,例如在三维图形中绘制多个二维函数。但最终结果如下:

填充应该在图的下方,而不是上方!

使用\closedcycle也无济于事,因为它会产生以下结果:

连接最后一个图的最后一个点和第一个图的第一个点的线很丑陋

以下是第二张图的 MWE,数据集有所减少:

\documentclass[12pt]{article}
\usepackage{pgfplots,pgfplotstable}

\pgfplotsset{compat=1.7}

\begin{document}
\begin{tikzpicture}

\pgfplotstableread{
q   1h  2h  3h  4h
0.01138 124.153702  119.550705  117.984253  115.065399             
0.089615    4.255316    4.356256    4.253153    4.040073       
0.129441    4.262549    3.756256    3.765975    4.120948       
0.254584    2.837865    3.107194    2.983951    2.531952    
0.298655    2.638327    2.848219    2.792608    2.729832        
}\data

\begin{axis}[
    zmode=log,
    log origin z=0,
    area plot/.style={
        fill opacity=0.75,
        draw=blue!70!violet,thick,
        fill=blue!70!violet!50,
        mark=none,
    }
]
\pgfplotsinvokeforeach{4,3,2,1}{
  \addplot3 [area plot] table [x=q, y expr=#1, z=#1h] {\data} \closedcycle;

}
\end{axis}
\end{tikzpicture}

\end{document}

我怎样才能把这件事弄清楚?

答案1

此问题已在现已发布的 PGFPlots v1.13 中得到解决。您的示例现在无需任何更改即可运行。

手册第 130 页第 4.6.3 节中还添加了类似的示例。

答案2

我不知道是否有错误。如果有,请将此作为解决方法;我在曲线中添加了冗余点并删除了轮廓线(代码如下)。

区域图3d

\documentclass[12pt]{article}
\usepackage{pgfplots,pgfplotstable}


\begin{document}
\begin{tikzpicture}

\pgfplotstableread{
q   1h  2h  3h  4h
0.01138 124.153702  119.550705  117.984253  115.065399             
0.089615    4.255316    4.356256    4.253153    4.040073       
0.129441    4.262549    3.756256    3.765975    4.120948       
0.254584    2.837865    3.107194    2.983951    2.531952    
0.298655    2.638327    2.848219    2.792608    2.729832 
0.298655    1       1       1       1       
0.01138     1       1       1       1
0.01138 124.153702  119.550705  117.984253  115.065399
}\data

\begin{axis}[
    zmode=log,
    log origin z=0,
    area plot/.style={
        fill opacity=0.75,
        draw=blue!70!violet,thick,
        fill=blue!70!violet!50,
        mark=none,
    }
]
\pgfplotsinvokeforeach{4,3,2,1}{
  \addplot3 [fill=blue, opacity=0.5,draw=none] table [x=q, y expr=#1, z=#1h] {\data} \closedcycle;

}
\end{axis}
\end{tikzpicture}

\end{document}

相关内容