matplotlib画折线图
作者:互联网
def convert(self, pose_list, output):
data_list = self.parse_pose(pose_list)
time_z_dic = {}
font2 = {'family': 'Times New Roman',
'weight': 'normal',
"color": "green",
'size': 6,
}
for index in range(len(data_list)):
z = data_list[index]["coordinate"][-1]
time_stamp = data_list[index]["timestamp"].split(".")[0] + "." + data_list[index]["timestamp"].split(".")[-1][:3]
time_z_dic[time_stamp] = z
plt.text(time_stamp, z, z, fontdict=font2)
x_list = time_z_dic.keys()
y_list = time_z_dic.values()
mpl.rcParams['font.sans-serif'] = ['STZhongsong'] # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False
plt.plot(x_list, y_list, color="red", label="z值")
plt.title("z值折线图", loc="center")
plt.grid(True) # 显示网格线
plt.xlabel('time_stamp')
plt.xticks(rotation=45)
plt.ylabel('z') # 显示纵坐标标题
plt.legend(loc=2) # 显示图例
# change x internal size
plt.gca().margins(x=0)
plt.gcf().canvas.draw()
# set size
maxsize = 30
m = 0.2
N = len(x_list)
s = maxsize / plt.gcf().dpi * N + 2 * m
margin = m / plt.gcf().get_size_inches()[0]
plt.gcf().subplots_adjust(left=margin, right=1. - margin)
plt.gcf().set_size_inches(s, plt.gcf().get_size_inches()[1])
# plt.show()
plt.savefig(str(output), dpi=600, bbox_inches='tight')
plt.close()
标签:plt,gcf,list,matplotlib,time,折线图,data,size 来源: https://www.cnblogs.com/yunhgu/p/16670489.html