@@ -75,12 +75,13 @@ Optional fields:
7575| Field | Meaning |
7676| --- | --- |
7777| ` excluded ` | Cells excluded from analyses and graphs, as ` "row,column" ` (0-based, column 0 is Title): ` ["2,1"] ` |
78- | ` seriesColors ` | A color per column (or per group of a grouped table): ` {"Control": "red"} ` |
79- | ` pointColors ` | A color per cell, as ` "column name#row" ` : ` {"Control#3": "green"} ` |
8078| ` widths ` | Column widths set by the user, in pixels, by column name |
8179| ` freezeTitle ` | ` true ` keeps the Title column visible while scrolling |
8280
83- Colors are ` "blue" ` , ` "red" ` , ` "green" ` , ` "purple" ` , ` "orange" ` or ` "black" ` .
81+ Files from before Helix 1.0.3 may also have ` seriesColors ` , a color per column (or
82+ group), and ` pointColors ` , a color per cell as ` "column name#row" ` , each ` "blue" ` ,
83+ ` "red" ` , ` "green" ` , ` "purple" ` , ` "orange" ` or ` "black" ` : Helix reads them as the
84+ colors of the table's graphs (see Graph).
8485
8586### Analysis
8687
@@ -109,3 +110,60 @@ from the table when the file opens, so results always match the data.
109110
110111` graphOptions ` holds every display setting (see ` GraphOptions ` in
111112` src/store/types.ts ` ). A missing setting takes its default.
113+
114+ A graph's colors and style are its own:
115+
116+ ``` json
117+ "palette" : { "name" : " okabe-ito" , "kind" : " categorical" , "colors" : [" #000000" , " #E69F00" , … ] },
118+ "series" : { "Control" : { "color" : " #0072B2" , "shape" : " square" , "dash" : " dash" , "pattern" : " diagonal" } },
119+ "points" : { "Control#3" : { "color" : " #D55E00" , "size" : 11 , "shape" : " diamond" , "outline" : 2 , "outlineColor" : " #000000" } },
120+ "fill" : 1 , "pointFill" : 1 , "pointSize" : 7 , "pointShape" : " circle" , "pointOutline" : 1.5 ,
121+ "outline" : 1.5 , "outlineColor" : " #000000" , "pointOutlineColor" : " #FFFFFF" , "barGap" : 0.1 ,
122+ "lineWidth" : 2 , "lineDash" : " solid" , "errorWidth" : 1.5 , "errorCaps" : 6 , "errorColor" : " #000000" , "errorDirection" : " above" ,
123+ "legend" : { "x" : 0.8 , "y" : 0.1 }, "note" : { "x" : 30 , "y" : 40 }, "xTitleGap" : 12 , "yTitleGap" : 2
124+ ```
125+
126+ - ` palette ` : which palette (` src/lib/palettes.ts ` ), and its colors, written out so
127+ the figure keeps them whatever Helix's list of palettes becomes. ` kind ` is
128+ ` "categorical" ` (colors taken in turn) or ` "sequential" ` / ` "diverging" ` (a
129+ gradient: series take evenly spaced colors along it, a heatmap all of it).
130+ ` reversed: true ` : its colors are written from the last (Reverse Colors).
131+ - ` series ` : the series styled by hand, by column or group name (a volcano's are
132+ ` "down" ` and ` "up" ` ): ` color ` , ` shape ` of its points, ` dash ` of its line (` "solid" ` ,
133+ ` "dash" ` , ` "dot" ` , ` "dashdot" ` ) and ` pattern ` over its bars, area or slice
134+ (` "diagonal" ` , ` "back-diagonal" ` , ` "crosshatch" ` , ` "horizontal" ` , ` "vertical" ` ,
135+ ` "grid" ` , ` "dots" ` ); the others take the palette's color for their place and the
136+ graph's ` pointShape ` and ` lineDash ` .
137+ - ` points ` : the points styled one by one, as ` "column name#row" ` (row 0 is the first),
138+ each with any of ` color ` , ` size ` , ` shape ` , ` fill ` (how opaque, 0 to 1), ` outline ` , ` outlineColor ` (a color, or
139+ ` "fill" ` : the point's own color), ` label ` (` true ` : it shows its row's title, or its
140+ row number, beside it) and ` labelOffset ` (where that name was moved, in pixels from
141+ the point, ` y ` downward); the rest comes from its series and
142+ the graph. A volcano's genes are their rows alone, ` "#row" ` ; a gene's own style wins
143+ over its up / down / not significant look. They follow the table: a renamed column,
144+ inserted or deleted rows.
145+ - ` fill ` : how opaque bars, boxes, violins and areas are, from 0 to 1; ` pointFill ` ,
146+ points.
147+ - ` pointSize ` and ` pointOutline ` (in pixels) and ` pointShape ` (` "circle" ` , ` "square" ` ,
148+ ` "diamond" ` , ` "triangle-up" ` , ` "triangle-down" ` ): every point of the graph.
149+ - ` outline ` (in pixels) and ` outlineColor ` : the outline of bars, boxes, violins, areas
150+ and pie slices; ` pointOutlineColor ` , of points. Without a color, an outline takes the
151+ color of what it outlines.
152+ - ` barGap ` : on interleaved grouped bars and XY bars, the gap between the bars of a row
153+ (or of an X), as a fraction of it (0: side by side).
154+ - ` lineWidth ` , ` lineDash ` : every series line's thickness (in pixels) and dashes.
155+ - ` errorWidth ` , ` errorCaps ` (in pixels), ` errorColor ` (none: each series' color) and
156+ ` errorDirection ` (` "both" ` or ` "above" ` : up, or right on horizontal bars): error bars,
157+ and the mean or median line drawn with them.
158+ - ` legend ` and ` note ` : texts moved by hand. The legend (or a heatmap's color legend),
159+ as a fraction of the plot area from its bottom-left corner; the note (a fit's
160+ equation), in pixels from the plot's top-left corner, ` y ` downward. Without them,
161+ each sits in its usual place.
162+ - ` xTitleGap ` , ` yTitleGap ` : the space in pixels between each axis title and its tick
163+ labels.
164+
165+ A graph without ` palette ` comes from Helix 1.0.2 or before: it takes the Helix
166+ palette, its table's ` seriesColors ` , its old ` heatmapColorScale ` or
167+ ` volcanoColorUp ` / ` volcanoColorDown ` / ` volcanoPointSize ` , fills at 0.5 (a pie's at 1,
168+ a volcano's points at 0.75), its type's point size and outline, and bars side by side (` barGap ` 0),
169+ so it looks as it did.
0 commit comments