请学会制作这样一张极具意义的人生进度图

2023-10-14 09:59

本文主要是介绍请学会制作这样一张极具意义的人生进度图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

时间如流水,一路向前,转眼间,2020年已过半。

这半年的你,过得还好吗?

无论过去的半年里,你是快乐还是难过,请不要沉溺于过去。

因为如果我们从宏观的角度上来看待人生,按周计算,你会发现过去的半年实际上也不过是微小的几个点而已。

对于我而言,它是这样的:

这些微小的点像钻石一般组成了你的人生。每一个点都很重要,但未来的点更关键。

看着这张图表,你有一个非常重要的问题需要回答:“我是否在充分利用自己的时间,我有没有适当地享受人生”

事实上,我认为这张图表上的每个点,即人生的每个星期,这样过是最合适的:

1.享受生活

2.为未来的每个点能够享受生活打下基础

3.创造一些能让自己或他人活得更有趣的东西

在理想状态下,上面的三点应该是互相平衡的。(当然,理想状态是不存在的)

如果你现在暂时无法平衡这三点,没关系,制作这张图,每个星期都来关注一下自己的人生进度。

神秘的原力会帮助你平衡这三点的(咋回事,我可是纯正的理工科生)。

你可以把一些关键的人生时间节点标记在这张图表上,比如我认为创建Python实用宝典是一件很有趣的事情:

这么看,Python实用宝典创建了才不到半年的时间就赶上了疫情啊,这一点我倒是没注意到。

你也可以丰富一下这张图表,把一些从小到大的重要节点写上,并记录今天所在的位置:

粗略地画了一张我的Life Graph,(当然没把细致的写出来哈,毕竟属于隐私),不过,我这个一会玩疯一会学疯也是挺有趣的。

接下来就教大家如何用Python最快、最方便地画出这张表,实际上我仅用了20行代码。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda

事实上,如果我们从零开始画这个图表,是会比较麻烦的。

幸好,已经有Python同好—K20shore 大神的 Life-Graph项目帮我们做了这件事了。
https://github.com/K20shores/Life-Graph

你可以直接在GitHub上下载他的源代码,也可以关注Python实用宝典公众号,回复 “人生” 下载。

这份源代码依赖于Latex,所以你还需要下载 MiKTeX,一路按默认安装即可:
https://miktex.org/download

安装的时候请记住路径,因为安装完成后还需要将latex.exe的路径放入环境变量中:

2.基本使用

K20shores大神的这个库基本包含了我们所有需要使用的元件。

比如前面提到的标记某一个时间段,可以用add_era:

# 增加事件名称及其时间段
g.add_era('COVID-19', date(2020, 1, 1), date(2020, 7, 1), color="#605041")


完整示例如下:

from lifegraph.lifegraph import Lifegraph, Papersize, Side
from datetime import date# 以出生日期为起点
birthday = date(1997, 6, 28)
g = Lifegraph(birthday, dpi=300, size=Papersize.A4, max_age=100)g.add_title("Life Graph")
g.show_max_age_label()# 增加事件名称及其时间段
g.add_era('COVID-19', date(2020, 1, 1), date(2020, 7, 1), color="#605041")g.save("grid.png")


图片版代码:

效果的部分截图:

如果你需要标记一个点,可以使用add_life_event函数:

# 标记一个生命事件,可配置文本颜色及显示位置
g.add_life_event('Pythondict\nCreated', date(2019, 7, 31), color="#dc143c", side=Side.LEFT)


参数color可以配置相关线条及文本颜色,side可以配置文本显示在左边还是右边。

示例如下:

from lifegraph.lifegraph import Lifegraph, Papersize, Side
from datetime import date# 以出生日期为起点
birthday = date(1997, 6, 28)
g = Lifegraph(birthday, dpi=300, size=Papersize.A4, max_age=100)g.add_title("Life Graph")
g.show_max_age_label()# 增加事件名称及其时间段
g.add_era('COVID-19', date(2020, 1, 1), date(2020, 7, 1), color="#605041")
g.add_life_event('Pythondict\nCreated', date(2019, 7, 31), color="#dc143c", side=Side.LEFT)g.save("grid.png")


图片版代码:


效果部分截图:

事实上,只要你会了这两个操作,基本上制作一个自己的生命图就没问题了。

值得注意的是,如果你需要用中文,请百度搜索“Latex 使用中文”相关的配置教程。

3.高级使用

其实它还可以配置背景图,这是我没想到的:

from lifegraph.lifegraph import Lifegraph, Papersize, Side
from datetime import date# 以出生日期为起点
birthday = date(1997, 6, 28)
g = Lifegraph(birthday, dpi=300, size=Papersize.A4, max_age=100)g.add_title("Life Graph")
g.show_max_age_label()# 增加事件名称及其时间段
g.add_era('COVID-19', date(2020, 1, 1), date(2020, 7, 1), color="#605041")
g.add_life_event('Pythondict\nCreated', date(2019, 7, 31), color="#dc143c", side=Side.LEFT)# 设置背景图
g.add_image("unnamed.jpg", alpha=0.5)g.save("grid.png")


图片版代码:


效果如下:

真滴还不错,给作者点个赞。

此外,连接多个点也是可以的:

from lifegraph.lifegraph import Lifegraph, Papersize, Side
from datetime import date# 以出生日期为起点
birthday = date(1997, 6, 28)
g = Lifegraph(birthday, dpi=300, size=Papersize.A4, max_age=100)g.add_title("Life Graph")
g.show_max_age_label()# 增加事件名称及其时间段
g.add_era('COVID-19', date(2020, 1, 1), date(2020, 7, 1), color="#605041")# 连接 A B 两个日期
g.add_era_span('From A to B',date(2016, 12, 31), date(2020, 7, 13),color="#4423fe",side=Side.LEFT
)g.save("grid.png")


图片版代码:

连接效果如下:

基本上全部的使用方法就这些了。

希望大家能用这个工具,时刻提醒自己:

快乐地度过每一个星期,做一些有意义的事情,不负韵华。

我们的文章到此就结束啦,如果你喜欢今天的Python实战教程,请持续关注Python实用宝典。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

点击下方阅读原文可获得更好的阅读体验

Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

这篇关于请学会制作这样一张极具意义的人生进度图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/209788

相关文章

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

PMBOK® 第六版 规划进度管理

目录 读后感—PMBOK第六版 目录 规划进度管理主要关注为整个项目期间的进度管理提供指南和方向。以下是两个案例,展示了进度管理中的复杂性和潜在的冲突: 案例一:近期,一个长期合作的客户因政策要求,急需我们为多家医院升级一个小功能。在这个过程中出现了三个主要问题: 在双方确认接口协议后,客户私自修改接口并未通知我们,直到催进度时才发现这个问题关于UI设计的部分,后台开发人员未将其传递给

为何我建议你学会抄代码?

文章目录 为何我建议你学会抄代码?一、引言二、抄代码的艺术1、理解抄代码的真正含义1.1、抄代码的好处 2、如何有效地抄代码2.1、发现问题2.2、整理需求2.3、造轮子标准流程 三、抄代码的实践案例1、发现问题2、整理需求3、设计重试机制4、实现重试工具类5、使用重试工具类6、优化和扩展 四、总结 为何我建议你学会抄代码? 一、引言 在编程的世界中,“抄代码” 常被视为一

OpenStack离线Train版安装系列—0制作yum源

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack镜像制作系列5—Linux镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作

OpenStack镜像制作系列4—Windows Server2019镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录  CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作系

OpenStack镜像制作系列2—Windows7镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作系列