Data Viz

👤 ianalloway 📦 v0.1.0 ⭐ 4.2 ⬇️ 2.6K 下載
📊 資料分析 免費

📖 技能介紹


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

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

Line Chart

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

Histogram

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

Scatter Plot

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

From CSV Files

# 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)

# Extract data from JSON and plot
curl -s "https://api.example.com/data" | jq -r '.items[] | "\(.name),\(.value)"' | uplot bar -d,

Termgraph (Python Alternative)

Simple horizontal bar charts:

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

With colors:

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

Gnuplot (Advanced)

For publication-quality charts:

# 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:

# 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:

# 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

# 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

# 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

# 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

    7w4.net小蔥技能。

  • 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'

🤖 AI 評測

這個 Skill 質量不錯,提供了多種終端圖表工具的使用方法,示例豐富且貼近實際需求。文件結構清晰,容易理解和上手,真實場景案例很有參考價值。不足之處是缺少可直接使用的示例檔案,使用者需要自己準備資料才能測試。總體來說是一個實用的資料視覺化參考指南,適合需要在命令列中生成圖表的使用者。

📊 多維度評分

適應性3.8
規範性4.3
有效性4.3
可靠性3.8
可信度4.7

📁 包含檔案 (2 個)

📄 SKILL.md 3.8 KB
📄 _meta.json 127 B