我打算开展一个项目,使用 Commander 构建一个 CLI,向 API 发出请求。
我想知道如何在终端中添加类似于 的基本图表以及终端中的图形功能(类似于 GitHub 贡献图)。
我无法为此找到好的 npm 包(Python 替代方案是 termgraph),感谢任何帮助。
正如 @Dimitri 所建议的,您可以看一下使用 Node.js 的 chalk 包的简单示例。
chart.js
:
import chalk from 'chalk';
const rankingsData = {
"Rankings": [
8267,
10747
],
"Long Rankings": [
6150,
10494
],
"Short Rankings":[
0,
3670
]
}
// Calculate the maximum value in the set. Will be used in normalization (see below):
const max = Math.max(...Object.values(rankingsData).flat());
// Helper function to 'normalize' values down to 100% according to min/max:
function normalize(value){
return ( Math.floor((((value - 0) / (max - 0)) * 100)/2) )
}
Object.entries(rankingsData).forEach((([key, [first, second]])=>{
const firstLength = " ".repeat(normalize(first));
const secondLength = " ".repeat(normalize(second));
console.log(
key.padEnd(15," ") + ":",
chalk.bgBlue.bold(firstLength),
first + ".00"
);
console.log(
" ".padEnd(16," "),
chalk.bgRed.bold(secondLength),
second + ".00"
);
// console.log("\n");
}));
$ npm install chalk
$ node chart.js