需求:
难点:
终图:

第一部分代码如下:
from matplotlib import pyplot as plt
# 设置中文能正常显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# x轴年龄
x = range(11, 31) # 20个,x轴与y轴数据一一对应
# y轴女朋友个数
y = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
# 设置图像大小,清晰度
plt.figure(figsize = (20, 8), dpi = 80)
# 联立
plt.plot(x, y)
# 设置x轴刻度:中文字符串
_xtick_labels = [u'{}岁'.format(i) for i in x ]
plt.xticks(x, _xtick_labels)
# 想把y轴拉长点,本身峰值是到6
plt.yticks(range(0,9))
# 添加x轴y轴描述
plt.xlabel(u'年龄')
plt.ylabel(u'对象个数')
# 网格线的深浅
plt.grid(alpha = 0.5)
plt.show()

第二部分代码如下:
x = range(11, 31) # 20个,x轴与y轴数据一一对应
# y轴女朋友个数增加一条折线的数据
y_m = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_r = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1]
# 设置图像大小,清晰度
plt.figure(figsize = (20, 8), dpi = 100)
# 注意:汉字前面不加u也可以,真奇怪....
plt.plot(x, y_m, label = '狗明', color = 'orange', linestyle = ':', linewidth = 5, alpha = 0.8)
plt.plot(x, y_r, label = '秀瑞', color = 'blue', linestyle = '-', linewidth = 5, alpha = 0.8)
_xtick_labels = [u'{}岁'.format(i) for i in x ]
plt.xticks(x, _xtick_labels)
# 想把y轴拉长点,本身峰值是到6
plt.yticks(range(0,9))
plt.xlabel(u'年龄')
plt.ylabel(u'对象个数')
plt.title('狗明与秀瑞在11-30岁之间交女朋友个数折线图')
# 网格线的深浅
plt.grid(alpha = 0.5)
# 将图例的位置设置在左上角
plt.legend(loc = 'upper left')
# 保存图片在桌面
plt.savefig('C:/Users/shuol/Desktop/p1')
plt.show()
