input: Write a function to visually summarize the Twitter data. The function should take a list of dictionaries where each dictionary represents a tweet with fields: tweet author, date of tweet, text, number of likes, and number of retweets. The function should generate three bar plots: one for the number of tweets per author, one for the number of likes per tweet, and one for the number of retweets per tweet.
  assert visualize_twitter_data([{'author': 'user1', 'date': '2023-01-01', 'text': 'hello', 'likes': 5, 'retweets': 2}, {'author': 'user2', 'date': '2023-01-02', 'text': 'world', 'likes': 10, 'retweets': 4}, {'author': 'user1', 'date': '2023-01-03', 'text': 'hi', 'likes': 7, 'retweets': 3}])
  assert visualize_twitter_data([])
output: import matplotlib.pyplot as plt
  from collections import Counter
  
  def visualize_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 = Counter(authors)
      author_names = list(author_counts.keys())
      tweet_counts = list(author_counts.values())
      
      plt.figure(figsize=(15, 5))
      
      plt.subplot(1, 3, 1)
      plt.bar(author_names, tweet_counts)
      plt.xlabel('Authors')
      plt.ylabel('Number of Tweets')
      plt.title('Number of Tweets per Author')
      
      plt.subplot(1, 3, 2)
      plt.bar(range(len(likes)), likes)
      plt.xlabel('Tweets')
      plt.ylabel('Number of Likes')
      plt.title('Number of Likes per Tweet')
      
      plt.subplot(1, 3, 3)
      plt.bar(range(len(retweets)), retweets)
      plt.xlabel('Tweets')
      plt.ylabel('Number of Retweets')
      plt.title('Number of Retweets per Tweet')
      
      plt.tight_layout()
      plt.show()