class_docstr: Renderer for contour plots composed of filled polygons and/or lines.
  
  Rather than create these manually it is usually better to use
  :func:`~bokeh.plotting.figure.contour` instead.
docstr: Construct and return a new ``ContourColorBar`` for this ``ContourRenderer``.
  
  The color bar will use the same fill, hatch and line visual properties
  as the ContourRenderer. Extra keyword arguments may be passed in to
  control ``BaseColorBar`` properties such as `title`.
docstr_tok: ["Construct","and","return","a","new","``","ContourColorBar","``","for","this","``","ContourRenderer","``",".","The","color","bar","will","use","the","same","fill",",","hatch","and","line","visual","properties","as","the","ContourRenderer",".","Extra","keyword","arguments","may","be","passed","in","to","control","``","BaseColorBar","``","properties","such","as","`","title","`","."]
code: def construct_color_bar(self, **kwargs) -> ContourColorBar:
      """Construct and return a new ``ContourColorBar`` for this ``ContourRenderer``.
  
      The color bar will use the same fill, hatch and line visual properties
      as the ContourRenderer. Extra keyword arguments may be passed in to
      control ``BaseColorBar`` properties such as `title`.
      """
      from ..annotations import ContourColorBar
      from ..tickers import FixedTicker
  
      return ContourColorBar(
          fill_renderer=self.fill_renderer,
          line_renderer=self.line_renderer,
          levels=self.levels,
          ticker=FixedTicker(ticks=self.levels),
          **kwargs,
      )
  
file_path: bokeh/src/bokeh/models/renderers/contour_renderer.py
imports: from __future__ import annotations
  import logging
  from typing import TYPE_CHECKING
  from ...core.properties import Float, Instance, Seq
  from .glyph_renderer import GlyphRenderer
  from .renderer import DataRenderer
label_desc: Use image node_id 3 for calling the ContourRenderer obj's underlying member method code with example usage: obj.construct_color_bar() and returns: ContourColorBar