#png #plot #csv #image

应用 csvcellplot

CSV 到图像转换器,使用不同亮度的方块绘制多个数字列

1 个不稳定版本

0.1.0 2023年3月5日

#17#绘图

MIT/Apache

51KB
534

csvcellplot

命令行工具,将 CSV 文件转换为图像,其中 CSV 中的每个数字都对应于一个颜色根据该数字着色的矩形。

$ printf 'a,b,c\n1,2,3\n1,2,3\n1,2,3\n2,3,4\n1,4,3\n0,4,2\n0,4,2\n0,4,2\n'
a,b,c
1,2,3
1,2,3
1,2,3
2,3,4
1,4,3
0,4,2
0,4,2
0,4,2

$ printf 'a,b,c\n1,2,3\n1,2,3\n1,2,3\n2,3,4\n1,4,3\n0,4,2\n0,4,2\n0,4,2\n' | csvcellplot sample1.png

sample 1

$ printf 'a,b,c\n1,2,3\n1,2,3\n1,2,3\n2,3,4\n1,4,3\n0,4,2\n0,4,2\n0,4,2\n' | csvcellplot -g out.png

sample 1

功能

  • 可调节单元格大小和颜色
  • 从命令行覆盖特定列的颜色
  • 渐变单元格
  • 支持中等大小的图像(例如,4000x6000 的图像来自 20k 的数据点) - 对于更大的数据集,请指定较小的单元格大小。
  • 数字会自动转换(插值、过滤),以便更容易的可视化表示 - 使用标准值和它们排名之间的中间值。

安装

Github 发布版 下载预构建的可执行文件,或使用以下命令从源代码安装:cargo install --path .cargo install csvcellplot.

CLI 选项

csvcellplot --help 输出
Usage: csvcellplot <output_file> [-W <image-width>] [-i <input-csv>] [-w <cell-width>] [-h <cell-height>] [-n] [-H] [--debug-filterted-csv <debug-filterted-csv>] [-c <colour-overrides>] [-S <default-saturation>] [-x <default-min-lightness>] [-X <default-max-lightness>] [-G <default-gradientness>] [-D <default-hue-drift>] [-R <max-cells-in-row>] [-g] [--legend-font <legend-font>] [--legend-font-scale <legend-font-scale>]

read csv data from stdin and write png to file

Positional Arguments:
  output_file       name of output file to write png image to

Options:
  -W, --image-width width of the image to write, default 1920 or automatic if -R
                    is present
  -i, --input-csv   input file to read CSV from, instead of stdin
  -w, --cell-width  width of a cell, in pixels
  -h, --cell-height height of a cell, in pixels
  -n, --no-fiter    do not run data though filter (interpolation), assume they
                    are already from 0 to 1.
  -H, --no-hide     do not hide trivial series
  --debug-filterted-csv
                    output additionla csv with filtered (interpolated) data
  -c, --colour-overrides
                    explicitly specify column colours, like
                    `column1=red,column2=FF00FF` colours may also contain a
                    number of modifier postfix characters: `+`, `-` - shift hue
                    `/` - desaturate. `@` - hue drift `_`,`.` -
                    decrease,increase min lightness `^`, `~` - decrease,
                    increase max lightness `%`, `&` - decrease, increase
                    gradientness
  -S, --default-saturation
                    use this saturation value for colours not specified
                    explicitly. Defaults to 1.0.
  -x, --default-min-lightness
                    defaults to 0.2
  -X, --default-max-lightness
                    defaults to 0.75
  -G, --default-gradientness
                    defaults to 0.0
  -D, --default-hue-drift
                    shift hue toghether with lightness. defaults to 0.0
  -R, --max-cells-in-row
                    maximum number of cell of one data series in a row
  -g, --grayscale   shotrcut for -x 0 -X 1 -S 0
  --legend-font     font file (ttf) to render legend text. Default is embedded
                    font Dharma Type Sometype Mono
  --legend-font-scale
                    font scale to render legend text. Default is 14. Setting it
                    to 0 prevents rendering legend.
  --help            display usage information

许可

代码使用 MIT 或 Apache-2.0 许可,嵌入的字体文件使用 IL Open Font License 许可。

依赖项

~22MB
~270K SLoC