Skip to content
Back to skills

Ianalloway Data Viz

BSecurity

Create data visualizations from the command line. Generate charts, graphs, and plots from CSV/JSON data without leaving the terminal.

  • 76 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
toolspythonrubyshellbashgitapi

Works with

  • terminal
  • api

Security analysis

B80/100
  • criticalExfiltrates credentials via HTTP β€” exact pattern from Snyk ToxicSkills study
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 4 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add jiayaoqijia/cryptoskill --skill ianalloway-data-viz --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ianalloway Data Viz?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ianalloway Data Viz
[![Security: B β€” Skills Directory](https://www.skillsdirectory.com/api/skills/jiayaoqijia-ianalloway-data-viz/badge)](https://www.skillsdirectory.com/skills/jiayaoqijia-ianalloway-data-viz)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-viz
description: "Create data visualizations from the command line. Generate charts, graphs, and plots from CSV/JSON data without leaving the terminal."
homepage: https://github.com/red-data-tools/YouPlot
metadata:
  {
    "openclaw":
      {
        "emoji": "πŸ“Š",
        "requires": { "bins": ["curl"] },
        "install":
          [
            {
              "id": "uplot-gem",
              "kind": "shell",
              "command": "gem install youplot",
              "bins": ["uplot"],
              "label": "Install YouPlot (Ruby gem)",
            },
            {
              "id": "termgraph-pip",
              "kind": "shell", 
              "command": "pip install termgraph",
              "bins": ["termgraph"],
              "label": "Install termgraph (Python)",
            },
          ],
      },
  }
---

# Data Visualization

Create terminal-based charts and visualizations from CSV, JSON, or piped data.

## Quick Visualizations with YouPlot

YouPlot (`uplot`) creates Unicode charts in the terminal.

### Bar Chart

```bash
echo -e "Apple,30\nBanana,45\nCherry,20\nDate,35" | uplot bar -d, -t "Fruit Sales"
```

### Line Chart

```bash
seq 1 20 | awk '{print $1, sin($1/3)*10+10}' | uplot line -t "Sine Wave"
```

### Histogram

```bash
awk 'BEGIN{for(i=0;i<1000;i++)print rand()}' | uplot hist -t "Random Distribution" -n 20
```

### Scatter Plot

```bash
awk 'BEGIN{for(i=0;i<100;i++)print rand()*100, rand()*100}' | uplot scatter -t "Random Points"
```

## From CSV Files

```bash
# Bar chart from CSV
cat sales.csv | uplot bar -d, -H -t "Monthly Sales"

# Line chart with headers
cat timeseries.csv | uplot line -d, -H -t "Stock Price"
```

## From JSON (with jq)

```bash
# Extract data from JSON and plot (CoinGecko markets as a live example)
curl -s "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=10&page=1" \
  | jq -r '.[] | "\(.symbol),\(.current_price)"' | uplot bar -d,
```

## Termgraph (Python Alternative)

Simple horizontal bar charts:

```bash
echo -e "2020 50\n2021 75\n2022 90\n2023 120" | termgraph
```

With colors:

```bash
echo -e "Sales 150\nCosts 80\nProfit 70" | termgraph --color green
```

## Gnuplot (Advanced)

For publication-quality charts:

```bash
# Quick line plot
gnuplot -e "set terminal dumb; plot sin(x)"

# From data file
gnuplot -e "set terminal dumb; plot 'data.txt' with lines"
```

## Sparklines

Inline mini-charts:

```bash
# Using spark (if installed)
echo "1 5 22 13 5" | spark
# Output: β–β–‚β–ˆβ–…β–‚

# Pure bash sparkline
data="1 5 22 13 5"; min=$(echo $data | tr ' ' '\n' | sort -n | head -1); max=$(echo $data | tr ' ' '\n' | sort -n | tail -1); for n in $data; do printf "\u258$((7-7*($n-$min)/($max-$min)))"; done; echo
```

## ASCII Tables

Format data as tables:

```bash
# Using column
echo -e "Name,Score,Grade\nAlice,95,A\nBob,82,B\nCarol,78,C" | column -t -s,

# Using csvlook (csvkit)
cat data.csv | csvlook
```

## Real-World Examples

### Stock Price Chart

```bash
# Fetch and plot stock data (using Alpha Vantage free API)
curl -s "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=AAPL&apikey=demo" | \
  jq -r '.["Time Series (Daily)"] | to_entries | .[:20] | reverse | .[] | "\(.key) \(.value["4. close"])"' | \
  uplot line -t "AAPL Stock Price"
```

### System Metrics

```bash
# CPU usage over time
for i in {1..20}; do
  top -bn1 | grep "Cpu(s)" | awk '{print 100-$8}'
  sleep 1
done | uplot line -t "CPU Usage %"
```

### API Response Times

```bash
# Measure and plot response times
for i in {1..10}; do
  curl -s -o /dev/null -w "%{time_total}\n" https://example.com
done | uplot line -t "Response Time (s)"
```

## Tips

- Use `-d,` for comma-delimited data, `-d'\t'` for tabs
- Use `-H` when your data has headers
- Pipe through `head` or `tail` to limit data points
- Combine with `jq` for JSON data extraction
- Use `watch` for live updating charts: `watch -n1 'command | uplot bar'`

Files in this skill

  • LICENSE1 KB
  • SKILL.md3.9 KB
  • SOURCE.md343 B
  • TRUST.auto.yaml2.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…