input: Write a function to visually summarize the Twitter data by plotting the tweet authors, number of likes, and number of retweets using matplotlib. The function should take in the Twitter data and produce three bar charts. The first chart should display the number of tweets per author, the second chart should display the number of likes per tweet, and the third chart should display the number of retweets per tweet. The Twitter data is a stream of tweets with data fields including tweet author, date of tweet, text, number of likes, and number of retweets.
  
  assert summarize_twitter_data([{'author': 'Alice', 'text': 'Hello', 'likes': 10, 'retweets': 5}, {'author': 'Bob', 'text': 'Hi', 'likes': 5, 'retweets': 3}, {'author': 'Alice', 'text': 'Goodbye', 'likes': 8, 'retweets': 4}]) == None
  assert summarize_twitter_data([]) == None
output: import matplotlib.pyplot as plt
  
  def summarize_twitter_data(tweets):
      if not tweets:
          return
      
      authors = [tweet['author'] for tweet in tweets]
      likes = [tweet['likes'] for tweet in tweets]
      retweets = [tweet['retweets'] for tweet in tweets]
      
      author_counts = {author: authors.count(author) for author in set(authors)}
      
      plt.figure(figsize=(15, 5))
      
      plt.subplot(1, 3, 1)
      plt.bar(author_counts.keys(), author_counts.values())
      plt.title('Number of Tweets per Author')
      plt.xlabel('Author')
      plt.ylabel('Number of Tweets')
      
      plt.subplot(1, 3, 2)
      plt.bar(range(len(likes)), likes)
      plt.title('Number of Likes per Tweet')
      plt.xlabel('Tweet Index')
      plt.ylabel('Number of Likes')
      
      plt.subplot(1, 3, 3)
      plt.bar(range(len(retweets)), retweets)
      plt.title('Number of Retweets per Tweet')
      plt.xlabel('Tweet Index')
      plt.ylabel('Number of Retweets')
      
      plt.tight_layout()
      plt.show()