id = "youplot" name = "YouPlot" homepage = "https://github.com/red-data-tools/YouPlot" description = "A command line tool that draws plots on the terminal." executables = ["uplot", "youplot"] [dotfiles] # The official README documents YAML defaults via `uplot --config`; the # project's parser enumerates these user-level candidates (after project-local # .youplot.yml/.youplotrc files): ~/.youplotrc, ~/.youplot.yml, # ~/.config/youplot/youplotrc, and ~/.config/youplot/youplot.yml. # https://github.com/red-data-tools/YouPlot#youplot-configuration-youplotrc # https://github.com/red-data-tools/YouPlot/blob/main/lib/youplot/parser.rb paths = [ "~/.youplotrc", "~/.youplot.yml", "~/.config/youplot/youplotrc", "~/.config/youplot/youplot.yml", ] secret = [] [commands] format = 1 label = "Plot data in the terminal" description = "Draw a bar, histogram, line or scatter plot from files or stdin. Other chart types, colours and progressive mode are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "readme" kind = "help" url = "https://raw.githubusercontent.com/red-data-tools/YouPlot/HEAD/README.md" revision = "2026-10-27" evidence = """ `uplot [options] ` | barplot | bar | draw a horizontal barplot | | histogram | hist | draw a horizontal histogram | | lineplot | line | draw a line chart | | scatter | s | draw a scatter plot | curl -sL https://git.io/ISLANDScsv | sort -nk2 -t, | tail -n15 | uplot bar -d, -t "Areas of the World's Major Landmasses" | uplot hist --nbins 20 | uplot line -d, -w 50 -h 15 -t AirPassengers --xlim 1950,1960 --ylim 0,600 | uplot scatter -H -t IRIS `-H` If input data contains a header line, you need to specify the `-H` option. `-d` To specify a blank space, you can use `uplot bar -d ' ' data.txt`. """ [[commands.field]] id = "plot" label = "Plot type" type = "enum" position = 0 choices = [ { value = "bar", label = "Bar" }, { value = "hist", label = "Histogram" }, { value = "line", label = "Line" }, { value = "scatter", label = "Scatter" }, ] sources = ["readme"] [[commands.field]] id = "file" label = "Data file (stdin if empty)" type = "path" path = { kind = "file", role = "input" } position = 1 sources = ["readme"] [[commands.field]] id = "delimiter" label = "Delimiter" type = "string" option = ["-d"] sources = ["readme"] [[commands.field]] id = "header" label = "Input has a header line" type = "boolean" option = ["-H"] sources = ["readme"] [[commands.field]] id = "title" label = "Title" type = "string" option = ["-t"] sources = ["readme"] [[commands.field]] id = "width" label = "Width" type = "integer" option = ["-w"] sources = ["readme"] [[commands.field]] id = "height" label = "Height" type = "integer" option = ["-h"] sources = ["readme"] [[commands.field]] id = "nbins" label = "Histogram bins" type = "integer" option = ["--nbins"] sources = ["readme"] [[commands.field]] id = "xlim" label = "X range (min,max)" type = "string" option = ["--xlim"] sources = ["readme"] [[commands.field]] id = "ylim" label = "Y range (min,max)" type = "string" option = ["--ylim"] sources = ["readme"] [[commands.task]] id = "plot_file" label = "Plot a file" fields = ["plot", "file", "delimiter", "header", "title"] required = ["plot", "file"] [[commands.group]] id = "basic" label = "Basic" fields = ["plot", "file", "delimiter", "header", "title"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["width", "height", "nbins", "xlim", "ylim"]