本文主要是介绍使用Python实现生命之轮Wheel of life效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《使用Python实现生命之轮Wheeloflife效果》生命之轮Wheeloflife这一概念最初由SuccessMotivation®Institute,Inc.的创始人PaulJ.Meyer...
最近看一个生命之轮的视频,让我们珍惜时间,因为一生是有限的。使用python创建生命倒计时图表,珍惜时间,活在当下。
生命之轮(Wheel of life),这一概念最初由 Success Motivation® Institute, Inc. 的创始人 Paul J. Meyer 提出,生命之轮使人能够根据此刻的价值观、愿景和优先事项,规划ta将为ta生活的每个领域付出的时间量。
要创造和使用生命之轮,应该遵循以下步骤:
1、确定你人生的重点领域
2、使用你选择的类别创建一个轮子
3、评价每个领域
4、连接这些打过分的点
5、将结果与你理想的状况进行比较
6、采取步骤解决你想要改进的领域
创建生命倒计时代码如下:
""" 导入必需的库: matplotlib.pyplot用于绘图, numpy用于数值计算, datetime用于获取当前日期 """ import matplotlib.pyplot as plt import numpy as np from datetime import datetime # 出生年月日 birth_year = 1991 birth_month = 9 birth_day = 1 # 当前年月日 current_date = datetime.now() current_year = current_date.year current_month = current_date.month # 设置图表的总年数和每行的年数 # 设置图表的总年数为80年,每行显示4年 total_years = 80 years_per_row = 4 # 计算总行数和总列数 total_rows = total_years // years_per_row total_columns = years_per_row * 12 # 创建图表 fig, ax = plt.subplots(figsize=(12, 8)) # 计算从出生到当前日期已经过去的js月份数 months_passed = (current_year - birth_year) * 12 + (current_month - birth_month) # 绘制所有月份 # for i in range(total_rows * total_columns): # color = 'red' if i < months_passed else 'black' # ax.scatter(i % total_columns, i // total_columns, marker='o', edgecolors=color, facecolors='none', s=30) # 绘制所有月份 # 如果该月份已经过去,用红色边框和绿色填充来表示,否则用黑色边框和空心来表示。 for i in range(total_rows * total_columns): if i < months_passed: ax.scatter(i % total_columns, i // total_columns, marker='o', edgecolors='red', facecolors='green', s=150) else: ax.scatter(i % total_columns, i // total_columns, marker='jso', edgecolors='black', facecolors='none', s=150) # 添加每12列之后的分割线 """ 通过plt.axvline()函数在每12列之后添加一条分割线。 x=col - 0.5表示分割线的位置, color='gray'设置分割线的颜色为灰色, linestyle='--'设置分割线为虚线, linewidth=1设置分割线的宽度为1。 这样可以在每行显示的4年的12个月份之间添加分割线,使图表更清晰。 """ for col in range(12, total_columns, 12): plt.axvline(x=col - 0.5, color='gray', linestyle=python'--', linewidth=1) # 设置轴标签 ax.set_xlabel('Months') ax.set_ylabel('Years') # 设置轴刻度 """ ax.set_xticks(np.arange(0, total_columns, 12)) ax.set_xticklabels(np.arange(1, years_per_row + 1)) """ """ ax.set_xticks(np.arange(0, total_columns + 1, 1))设置了X轴的刻度,使其每列都显示刻度线, 而xtick_labels使用np.tile函数重复生成1到12的标签。 这样可以在每个1到4的列中分别显示1到12的刻度值。 """ ax.set_xticks(np.arange(0, total_columns, 1)) xtick_labels = np.tile(np.arange(1, 13), 4) # print(xtick_labels) ax.set_xticklabelyZPAZKQQs(xtick_labels) # 设置Y轴刻度 ax.set_yticks(np.arange(0, total_rows, 1)) ax.set_yticklabels(np.arange(0, total_years, years_per_row)) # 设置标题 ax.set_title('A 80-Year Human Life in Months') # 隐藏右边和上边的轴线 ax.swww.chinasem.cnpines['right'].set_visible(False) ax.spines['top'].set_visible(False) # 显示网格 # ax.grid(True) # 反转y轴,使得0岁在顶部 plt.gca().invert_yaxis() # 显示图表 plt.tight_layout() plt.savefig("WhellOfLife.png") plt.show()
展示如下:
绿色的圆点表示以及一去不返的过去,空心圆圈表示剩余的时间,设置目标年龄80岁,每行展示4年。每过一个月就涂掉一个圆圈。
到此这篇关于使用Python实现生命之轮Wheel of life效果的文章就介绍到这了,更多相关Python生命之轮内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!
这篇关于使用Python实现生命之轮Wheel of life效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!