code: def plot_difference_plotly(mdiff, title="", annotation=None):
      """Plot the difference between models.
  
      Uses plotly as the backend."""
      import plotly.graph_objs as go
      import plotly.offline as py
  
      annotation_html = None
      if annotation is not None:
          annotation_html = [
              [
                  "+++ {}<br>--- {}".format(
                      ", ".join(int_tokens), ", ".join(diff_tokens)
                  )
                  for (int_tokens, diff_tokens) in row
              ]
              for row in annotation
          ]
  
      data = go.Heatmap(
          z=mdiff, colorscale="RdBu", text=annotation_html
      )
      layout = go.Layout(
          width=950,
          height=950,
          title=title,
          xaxis=dict(title="topic"),
          yaxis=dict(title="topic"),
      )
      py.iplot(dict(data=[data], layout=layout))
  
file_path: gensim/docs/src/gallery/howtos/run_compare_lda.py
imports: import logging
  from string import punctuation
  from nltk import RegexpTokenizer
  from nltk.stem.porter import PorterStemmer
  from nltk.corpus import stopwords
  from sklearn.datasets import fetch_20newsgroups
  from gensim.corpora import Dictionary
  from gensim.models import LdaMulticore
  import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: plot_difference_plotly(mdiff, title, annotation) without return types