【1000个文本绘图技巧-Graphviz005】Graphviz根据日记等结构化时间序列文件自动生成时间序列图?

文章介绍了如何使用Python脚本配合Graphviz自动将格式化的日记按月份生成图片,适用于日记、规划等,通过读取riji.log文件并自动生成事件时间线,支持不同颜色区分工作日和周末。

背景

使用Graphviz自动将格式化日记按照月份生成图片,出来后效果不错。无论日记、未来规划还是其他事情记录都可以使用该种方式。
模式是:将事情按照格式化写入指定文件比如riji.log 然后执行脚本生成Graphviz,将事件自动生成到时间线上面

主体代码

  • 代码
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys

msi=int(sys.argv[1])
dsi=int(sys.argv[2])
mei=int(sys.argv[3])
dei=int(sys.argv[4])
file_path=sys.argv[5]

year="23"

mdays=[31,28,31, 30,31,30, 31,31,30, 31,30,31]

def gen_mon(msi,mei,dsi,dei):
	print("\nnode [fontsize=20, shape=box, style=filled fillcolor=lightgreen];")
	for m in range(msi, mei+1):
		if m == msi:
			ds=int(dsi)
		else:
			ds=1
		if m==mei:
			de=dei
			if de > mdays[m-1]:
				de = mdays[m-1]
		else:
			de=mdays[m-1]
		print("\n{:>02}.{:>02}".format(year,m))

def gen_day(msi,mei,dsi,dei):
	print("\nnode [fontsize=20, shape=box, style=filled fillcolor=lightgray];")
	for m in range(msi, mei+1):
		if m == msi:
			ds=int(dsi)
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值