ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

matplotlib画折线图

2022-09-08 18:31:25  阅读:150  来源: 互联网

标签:plt gcf list matplotlib time 折线图 data size


    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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有