Not sure which dataset you are using. But here's a sample code for your reference:
Please find the below code to solve this problem statement.
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('C:/Users/ed110374/Desktop/faltu stuff/Cars2015.csv',delimiter=',')
#drop the column which are not require.
df = df.drop(['Model','Type','LowPrice','HighPrice','Drive','CityMPG','HwyMPG','FuelCap','Length'], axis=1)
df = df.drop(['Width','Wheelbase','Height','UTurn','Weight','Acc030','Acc060'],axis=1)
df = df.drop(['QtrMile','PageNum','Size'],axis=1)
#based on make count the number of models
df['count'] = df.groupby('Make')['Make'].transform('count')
df.drop_duplicates('Make',inplace=True)
df.sort_values(by='count',ascending=False,inplace=True)
#Based on the count obtain we will plot our graph.
plt.figure(figsize=(50,8))
ax1 = plt.subplot(121, aspect='equal')
df.plot(kind='pie', y = 'count', ax=ax1, autopct='%1.1f%%',startangle=90, shadow=False, labels=df['Make'], legend = False, fontsize=10)
plt.show()