Plot node data to an axes object

        Parameters
        ----------
        ax : axes object
            axes to plot to
        nid : int
            node id pointing to the respective data set
        cmap : string, optional
            color map to use. Default: jet
        vmin : float, optional
            Minimum colorbar value
        vmax : float, optional
            Maximum colorbar value

def plot_nodes_contour_to_ax(self, ax, nid, **kwargs):
        """Plot node data to an axes object

        Parameters
        ----------
        ax : axes object
            axes to plot to
        nid : int
            node id pointing to the respective data set
        cmap : string, optional
            color map to use. Default: jet
        vmin : float, optional
            Minimum colorbar value
        vmax : float, optional
            Maximum colorbar value

        """
        x = self.grid.nodes['presort'][:, 1]
        z = self.grid.nodes['presort'][:, 2]
        ax.scatter(x, z)
        xz = np.vstack((x, z)).T

        # generate grid
        X, Z = np.meshgrid(
            np.linspace(x.min(), x.max(), 100),
            np.linspace(z.min(), z.max(), 100),
        )

        values = np.array(self.nodeman.nodevals[nid])
        # linear
        # cubic
        cint = scipy.interpolate.griddata(
            xz,
            values,
            (X, Z),
            method='linear',
            # method='linear',
            # method='nearest',
            fill_value=np.nan,
        )
        cint_ma = np.ma.masked_invalid(cint)

        pc = ax.contourf(
            X, Z, cint_ma,
            cmap=kwargs.get('cmap', 'jet'),
            vmin=kwargs.get('vmin', None),
            vmax=kwargs.get('vmax', None),
        )
        # pc = ax.pcolormesh(
        #     X, Z, cint_ma,
        #     vmin=-40,
        #     vmax=40,
        # )
        # cb = fig.colorbar(pc)
        return pc