code: def draw_line(self, data, coordinates, style, label, mplobj=None):
      if coordinates != "data":
          warnings.warn(
              "Only data coordinates supported. Skipping this"
          )
      dataname = "table{0:03d}".format(len(self.data) + 1)
  
      # TODO: respect the other style settings
      self.data.append(
          {
              "name": dataname,
              "values": [dict(x=d[0], y=d[1]) for d in data],
          }
      )
      self.marks.append(
          {
              "type": "line",
              "from": {"data": dataname},
              "properties": {
                  "enter": {
                      "interpolate": {"value": "monotone"},
                      "x": {"scale": "x", "field": "data.x"},
                      "y": {"scale": "y", "field": "data.y"},
                      "stroke": {"value": style["color"]},
                      "strokeOpacity": {"value": style["alpha"]},
                      "strokeWidth": {"value": style["linewidth"]},
                  }
              },
          }
      )
  
file_path: catboost/contrib/python/plotly/py3/plotly/matplotlylib/mplexporter/renderers/vega_renderer.py
imports: import warnings
  import json
  import random
  from .base import Renderer
  from ..exporter import Exporter
label_desc: Use image node_id 3 for calling the VegaRenderer obj's underlying member method code with example usage: obj.draw_line(data, coordinates, style, label, mplobj) without return types