Editor Workflow and Panel Guide

easy-chart-lit · Manual

Editor Workflow and Panel Guide

This chapter helps you understand what to edit where in EasyChart/Library Editor, and the common editing workflows (create, clone, preview, export).


1. What are you editing? (ChartProfile)

The chart selected in the Library Editor is essentially a ChartProfile asset.

  • It is a reusable configuration: the same Profile can be referenced by multiple scenes/prefabs.
  • It is a previewable configuration: after modifying it in the editor, you can see the preview update immediately.

Recommendation: put your own Profiles under Assets/EasyChart/Library/Custom/ (or a folder agreed by your team).


2. The three core areas of the Library Editor

Although UI details may change slightly across versions, you can understand the overall layout like this:

2.1 Left: Library Tree

This shows the folder structure where chart assets (ChartProfile) are located.

Common actions:

  • Right-click a folder:
    • New Folder...: create a subfolder
    • New Chart...: create a new ChartProfile
  • Right-click a chart:
    • Clone: duplicate a new Profile (to create variants)
    • Export to UXML: export (if your workflow needs to sync/export configuration into UXML)
    • Ping: locate the asset in the Project window
    • Rename... / Delete

Tip: use Clone to create variants like “same chart with different colors / different data scale”, instead of configuring from scratch.

2.2 Right: Inspector

This is where you do most of your editing.

It typically includes:

  • Basic settings:
    • coordinateSystem
    • padding (if present)
    • animationDuration (if present)
  • Series list: each Serie represents a line, a group of bars, a scatter series, etc.
  • Axes:
    • choose which XAxisId/YAxisId to use
    • configure display/labels/range/ticks of the corresponding AxisConfig
  • Legend / Tooltip / Grid: if your version exposes these settings

Practical tip: configure coordinateSystem, Series, and Axes first. The rest is “nice to have”.

2.3 Preview

Use it to check:

  • whether data exists
  • whether axis ranges are correct
  • whether labels are crowded/misaligned
  • Tooltip / Legend interactions (if enabled)

When preview looks wrong, troubleshoot in this order:

  1. Is coordinateSystem correct?
  2. Does series contain at least 1 serie and data points?
  3. Does the axis axisType match the meaning of your data x/y?
  4. Is the Value axis range locked manually (autoRangeMin/autoRangeMax)?

2.4 JSON Injection

Below the left panel there is a JSON Injection area, used to:

  • quickly generate an “injection JSON example” for the selected ChartProfile
  • apply your pasted/edited JSON back to the selected Profile (ApplyToChart)

Common controls:

  • API Envelope: whether to wrap with { code, message, data }.
    • When enabled: generated JSON will be wrapped; parsing can also recognize it and automatically extract data.
  • Feed Mode: the structure/field completeness of the example JSON (to support different injection protocols).
  • Datas Format: the point format inside the datas field (e.g. compact arrays, or more readable objects).
  • ApplyToChart: parse JSON from the text box and write it back into the selected ChartProfile.

Step 1: Create or select a ChartProfile

  • New: right-click the target folder and choose New Chart...
  • Existing: click to select in the left tree

If you prefer the “clone first, then modify” approach (recommended):

  • First, use Clone in the top toolbar to create your own Library
  • Then in your own library, right-click a Profile -> Clone to create variants

Step 2: Decide the coordinate system

  • Cartesian2D: Line/Bar/Scatter/Heatmap
  • Polar2D: Radar

Tip: decide the coordinate system first, then choose SeriesType, to avoid style/axis confusion after switching later.

Step 3: Configure Series

  • Add Series
  • Set type
  • Fill seriesData

Tip: start with a small number of points (3–8) to validate the look, then scale up.

Step 4: Configure Axes

Most common combination:

  • X: Category
    • put text into labels
  • Y: Value
    • enable auto range (default)

When you want more professional axis formatting:

  • Use labelFormat (e.g. F1, N0)
  • Use autoRangeMin/autoRangeMax to lock only one side of the range
  • If the Value axis needs a unit:
    • showUnit=true
    • unitText="items"/"10k"
    • use unitLabelStyle to adjust font/color/position

When you need multiple versions of the same chart (colors, font size, slightly different axis display):

  • Right-click the chart -> Clone
  • Modify only the differences

This keeps style consistent and is easier for version management.

When you want to use the chart in UI:

  • UI Toolkit: export to UXML, then compose the page in UI Builder (see demo scene Assets/EasyChart/Demo/Scenes/EasyChart_QuickStart.unity and template Assets/EasyChart/Demo/UIToolKit/NewUXMLTemplate.uxml)
  • UGUI: export to a UGUI prefab and use it in a Canvas/RectTransform workflow

4. Common pitfalls (quick diagnosis)

  • Nothing shows up

    • Is seriesData empty?
    • Does AxisType match the meaning of your data (does the Category axis have labels)?
  • Value axis looks weird (range too large/too small)

    • Check autoRangeMin/autoRangeMax
    • Check whether rounding/unit snapped the range to an unsuitable unit
  • Bars and labels are misaligned

    • Check LabelPlacement (Tick vs CellCenter)

Next

  • 00_02-WorkflowAndLibrary.md: axis types, label placement, auto range, rounding, and unit display are merged into section 7