Линии сетки на поверхности вида сверху

Линии сетки на поверхности вида сверху

Я почти удовлетворен своими графиками, не хватает только линий сетки. По сути, я делаю что-то вроде графика плотности/цветового графика, позволяя pgfplots генерировать поверхность и просматривая ее сверху:

\begin{tikzpicture}
    \begin{axis}[
            axis lines = middle,
            grid = major,
            grid style = {color = white!90!black},
            xlabel = $x$,
            ylabel = $y$,
            no markers,
            mesh/ordering=y varies,
            view={0}{90},
            colormap = {graywhite}{color=(white) color=(gray)},
        ]
        \addplot3[surf,shader=interp] file{surf.txt};
    \end{axis}
\end{tikzpicture}

Пример вывода с использованиемэтотвход:

выход

Поверхность нарисована с использованием мелкой сетки (50x50), поэтому оставлять исходные линии сетки не получится. Выбор shader=interppgfplots в основном удаляет линии сетки и хорошо интерполирует цвета. Было бы здорово, если бы поверх этого можно было нарисовать несколько линий сетки, например, черным цветом с непрозрачностью 10%. Кто-нибудь знает, как это сделать?

решение1

Кажется, когда вы делаете: colormap = {graywhite}{color=(white) color=(gray)}он заполняет всю область построения белым цветом. Таким образом, линии сетки скрыты за вашим графиком.

Чтобы разместить их сверху, как вы просили, можно использовать:

\begin{tikzpicture}
\begin{axis}[
        axis lines = middle,
        grid = major,
        grid style = {color = white!90!black},
        xlabel = $x$,
        ylabel = $y$,
        no markers,
        mesh/ordering=y varies,
        view={0}{90},
        colormap = {graywhite}{color=(white) color=(gray)},
    ]
    \addplot3[surf,shader=interp] file{surf.txt};
    \draw[dotted,step={(axis cs:5,5)},help lines] (0,0) grid (axis cs:30,20);
\end{axis}
\end{tikzpicture}

Что производит: Результат

Чтобы нарисовать черные линии с непрозрачностью 10%, можно использовать: \draw[opacity=0.1,step={(axis cs:5,5)}] (0,0) grid (axis cs:30,20);

Связанный контент