画图方面一开始使用的是plotnine,但是plotnine文档太少,官网上例子也少,实在满足不了需求,所以还是
from plotnine.data import mtcars
import matplotlib.pyplot as plt
font = {'family':'serif','color':'darkred','weight':'normal','size':16}
##设置某个类别的线段类型
software = mtcars['carb'].unique()
line = [':' for i in range(len(software))]
for index,s in enumerate(software):
if s == 4:
line[index] = '-'
figure = plt.figure(figsize=(20, 10))
for i,s in enumerate(software):
res = mtcars[mtcars.carb==s]
res['wt'] = res['wt'] .astype(str) ##将wt当成字符串,而不是数字
plt.plot(res['wt'],res['mpg'],linestyle=line[i],label=s,marker='.',linewidth=2)
plt.xlabel("wt",fontdict = font)
plt.ylabel("mpg",fontdict = font)
plt.legend(loc="upper left")
plt.xticks(rotation="90")
#figure.savefig(png_path)
结果: