code: def plot_nodes_contour_to_ax(self, ax, nid, **kwargs):
          
          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
docs: 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