Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
eng0ai avatar

Echarts

  • 319 installs
  • 15 repo stars
  • Updated June 16, 2026
  • eng0ai/eng0-template-skills

echarts is a Claude Code skill that builds interactive charts and dashboards using Apache ECharts and pyecharts for developers who need bar, line, and themed visualizations with tooltips and responsive data binding.

About

echarts is a frontend development skill from eng0ai/eng0-template-skills covering Apache ECharts charting and its pyecharts Python wrapper. It documents chart creation patterns—including bar charts with add_xaxis/add_yaxis, global title and tooltip options, and axis configuration—plus self-contained HTML report generation with embedded JavaScript output. Developers reach for echarts when building web dashboards, analytics reports, or data exploration UIs that need interactive tooltips, themes, and responsive chart configs without hand-writing raw ECharts option objects from scratch. The skill bridges Python data workflows and browser-rendered visualizations, making it useful for report generation pipelines and SaaS analytics screens alike.

  • ECharts option schema guidance
  • Responsive chart layouts
  • Theme and palette customization
  • Tooltip and legend patterns
  • Dynamic data update handling

Echarts by the numbers

  • 319 all-time installs (skills.sh)
  • Ranked #732 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Jul 30, 2026 (Skillselion catalog sync)
npx skills add https://github.com/eng0ai/eng0-template-skills --skill echarts

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs319
repo stars15
Last updatedJune 16, 2026
Repositoryeng0ai/eng0-template-skills

How do you build interactive ECharts dashboards?

Build interactive charts and dashboards in web apps using Apache ECharts configs, themes, tooltips, and responsive data-binding patterns.

Who is it for?

Developers building Python-driven reports or web dashboards that need Apache ECharts interactive charts with themes and tooltips.

Skip if: Teams standardized on D3.js, Plotly, or Chart.js who do not want ECharts-specific option schemas.

When should I use this skill?

A developer asks to create bar charts, dashboards, or HTML visualization reports with pyecharts or Apache ECharts.

What you get

Apache ECharts chart configs, pyecharts Python code, and self-contained HTML reports with embedded JS visualizations.

  • ECharts chart configs
  • Self-contained HTML visualization reports

Files

SKILL.mdMarkdownGitHub ↗

ECharts Skill

Technology Stack

  • pyecharts: Python wrapper for Apache ECharts
  • Apache ECharts: JavaScript charting library
  • Output: Self-contained HTML with embedded JS

Chart Types Reference

Bar Charts

from pyecharts.charts import Bar
from pyecharts import options as opts

chart = Bar()
chart.add_xaxis(labels)
chart.add_yaxis("Series Name", values)
chart.set_global_opts(
    title_opts=opts.TitleOpts(title="Chart Title"),
    tooltip_opts=opts.TooltipOpts(trigger="axis"),
    xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),
)

Line Charts

from pyecharts.charts import Line

chart = Line()
chart.add_xaxis(dates)
chart.add_yaxis("Actual", values, is_smooth=True)
chart.add_yaxis("7-Day MA", moving_avg_7, is_smooth=True, linestyle_opts=opts.LineStyleOpts(type_="dashed"))

Pie Charts

from pyecharts.charts import Pie

chart = Pie()
chart.add("", list(zip(labels, values)))
chart.set_global_opts(legend_opts=opts.LegendOpts(orient="vertical", pos_left="left"))

Heatmaps

from pyecharts.charts import HeatMap

chart = HeatMap()
chart.add_xaxis(x_labels)
chart.add_yaxis("", y_labels, value=[[x, y, val], ...])
chart.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(min_=0, max_=max_val),
)

Scatter Plots (for anomalies)

from pyecharts.charts import Scatter

chart = Scatter()
chart.add_xaxis(dates)
chart.add_yaxis("Cost", costs, symbol_size=10)
# Add anomaly markers with different color/size

Critical: Browser Compatibility

Always convert to lists for JavaScript:

# CORRECT
chart.add_xaxis(df['column'].tolist())
chart.add_yaxis("Label", df['values'].tolist())

# WRONG - causes rendering issues
chart.add_xaxis(df['column'].values)  # numpy array
chart.add_xaxis(df['column'])  # pandas Series

Theme Options

Available themes in pyecharts:

  • macarons (default) - Colorful, professional
  • shine - Bright colors
  • roma - Muted, elegant
  • vintage - Retro feel
  • dark - Dark background
  • light - Light, minimal

Usage:

from pyecharts.globals import ThemeType
chart = Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS))

HTML Report Structure

def generate_html_report(self, output_path: str, top_n: int = 10) -> str:
    # Create all charts
    charts = [
        self.create_cost_by_service_chart(top_n),
        self.create_cost_by_account_chart(),
        # ... more charts
    ]

    # Combine into page
    page = Page(layout=Page.SimplePageLayout)
    for chart in charts:
        page.add(chart)

    # Render to file
    page.render(output_path)
    return output_path

Formatting Numbers

# Currency formatting in tooltips
tooltip_opts=opts.TooltipOpts(
    trigger="axis",
    formatter="{b}: ${c:,.2f}"
)

# Axis label formatting
yaxis_opts=opts.AxisOpts(
    axislabel_opts=opts.LabelOpts(formatter="${value:,.0f}")
)

Common Issues & Solutions

Empty Charts

1. Check browser console for JS errors 2. Verify .tolist() on all data 3. Hard refresh (Ctrl+Shift+R) 4. Check data exists in HTML source

Chart Too Small

init_opts=opts.InitOpts(width="100%", height="400px")

Labels Overlapping

xaxis_opts=opts.AxisOpts(
    axislabel_opts=opts.LabelOpts(rotate=45, interval=0)
)

Legend Too Long

legend_opts=opts.LegendOpts(
    type_="scroll",
    orient="horizontal",
    pos_bottom="0%"
)

Testing Visualizations

# Test chart creation
uv run pytest tests/test_visualizer.py -v

# Regenerate example report
uv run pytest tests/test_examples.py -v -s

# View in browser
open examples/example_report.html

Related skills

How it compares

Choose echarts when the stack is Apache ECharts or pyecharts and you need self-contained HTML chart output rather than a React-specific charting component library.

FAQ

What libraries does the echarts skill use?

The echarts skill covers pyecharts as a Python wrapper for Apache ECharts, the JavaScript charting library. Output is self-contained HTML with embedded JS, suitable for reports and web dashboards.

What chart types does echarts document?

The echarts skill documents bar chart creation with pyecharts, including xaxis/yaxis setup, global title and tooltip options, and axis label configuration. It also covers visualization best practices for HTML report generation.

Frontend Developmentfrontendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.