import matplotlib.pyplot as plt
#from adjustText import adjust_text
import numpy as np
fig = plt.figure(figsize=(10,8))
ax = fig.add_axes([0.1, 0.15, 0.8, 0.8]) #左边,下边,宽度,高度 设置图在画布中的距离
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False
x_data = ['1990', '1995', '2000', '2005', '2006', '2007', '2008', '2009', '2010', '2011',
'2012', '2013', '2014', '2015', '2016', '2017']
y_data = [174, 170, 189, 174, 177, 206, 221, 265, 257, 262,
255, 294, 296, 298,
309, 312]
y_data2 = [213, 230, 234, 209, 184, 212, 242, 255, 254, 257,
252, 259, 262, 265, 265, 268]
plt.xticks(rotation=45)
plt.xlabel(u'年份(年)', fontsize=14)
plt.ylabel(u'死亡率(1/10万)', fontsize=14)
plt.plot(x_data, y_data, color='red', linewidth=3.0, linestyle='-', marker='o')
plt.plot(x_data, y_data2, color='blue', linewidth=3.0, linestyle='-', marker='o')
plt.title(r"$\bf{" + str(2) + "}$"+":1990-2017年中国城乡居民心血管病死亡率变化",x=0.5, y=-0.16) # 设置标题及字体
#r"$\bf{" + str(2) + "}$" 可以加粗字体
plt.legend(loc='upper right', bbox_to_anchor=(1.1, 0.55), labels=['农村', '城市'],)
ax = plt.gca()
ax.spines['right'].set_color('none') # right边框属性设置为none 不显示
ax.spines['top'].set_color('none') # top边框属性设置为none 不显示
for a, b in zip(x_data, y_data):
plt.text(a, b, b, ha='left', va='top', fontsize=15)
for a, b in zip(x_data, y_data2): #添加文字说明
plt.text(a, b, b, ha='right', va='bottom', fontsize=15)
plt.show()
仍有一些问题,两条折线图上的文字说明重叠