code: def draw_exposure(ax, df, context):
      """
      Draw exposure line on the chart.
  
      """
      # TODO: list exchanges in graph
      quote_currency = None
      positions = []
      for exchange_name in context.exchanges:
          exchange = context.exchanges[exchange_name]
  
          if not quote_currency:
              quote_currency = exchange.quote_currency
          elif quote_currency != exchange.quote_currency:
              raise MismatchingQuoteCurrenciesExchanges(
                  quote_currency=quote_currency,
                  exchange_name=exchange.name,
                  exchange_currency=exchange.quote_currency,
              )
  
          positions += exchange.portfolio.positions
  
      ax.clear()
      ax.set_title("Exposure")
      ax.plot(
          df.index,
          df["quote_currency"],
          "-",
          color="green",
          linewidth=1.0,
          label="Base Currency: {}".format(quote_currency.upper()),
      )
  
      symbols = []
      for position in positions:
          symbols.append(position.symbol)
  
      ax.plot(
          df.index,
          df["long_exposure"],
          "-",
          color="blue",
          linewidth=1.0,
          label="Long Exposure: {}".format(", ".join(symbols).upper()),
      )
  
      set_legend(ax)
      format_ax(ax)
  
file_path: catalyst/catalyst/exchange/utils/live_chart_utils.py
imports: import matplotlib.dates
  import pandas
  from catalyst.exchange.exchange_errors import MismatchingQuoteCurrenciesExchanges
label_desc: Use image node_id 5 for calling a global function with example usage: draw_exposure(ax, df, context) without return types