Generate Coffee Roasting Curves Using Frappe Charts
用温度监测模块记录了咖啡烘焙过程中的咖啡豆温度数据,保存为CSV文件。根据该数据生成“烘焙曲线”和“升温曲线”,需要用Excel之类的表格处理软件生成对应的“折线图”,比较麻烦。然后写了个简单的网页,可以选择CSV文件,自动生成两个曲线图。生成图表的JavaScript库,采用了Frappe Charts。记录一下Frappe Charts的使用。
- 项目地址:frappe/charts: simple, responsive, modern svg charts with zero dependencies
- 官方教程:Frappe Charts - Quick Start
优点:
- 简单。根据官方示例代码,即可生成图表。
- 支持混合图表。通过多种图表同时显示,更好表达出数据的含义。
- 折线图(line chart)支持序列数据,并优化显示。包括:平滑曲线、优化X轴标签显示(避免显示全部而导致太密集)等。
缺点:
- 项目太久没更新(起码3年了),很多issue都没有处理。
- 扩展性差。几乎没有插入特殊处理代码的地方。
- 可生成Y轴标签(以虚线显示),但不能生成X轴标签。目前使用条形图(bar chart)实现X轴标签的效果(指定X轴标签上显示一条竖线)。
- 折线图(line chart)数据点的提示框(tooltip),不能根据不同的数据做显示定制。由于提示框是生成图表时,预先生成的,并且按数据顺序执行每个数据点的各组数据的处理。例如有3组数据,那么每次执行数据处理都记录其自增ID,再用该ID除以3求余数,就能确定当次所处理的是第几组数据,并做对应的处理。
- 折线图(line chart)不能设置缺失数据,也不能隐藏指定数据点。暂时无解决方案,只能用零值表示缺失数据。