{ "$schema": "../_schema.json", "element": "chart-axis", "shared_base": true, "properties": { "axisFont": { "type": "string", "add": false, "set": false, "get": true, "description": "axis text font readback.", "readback": "font name string", "enforcement": "report" }, "axisMax": { "type": "number", "add": false, "set": false, "get": true, "description": "value-axis maximum readback (also surfaced via max on axis-by-role path).", "readback": "numeric value", "enforcement": "report" }, "axisMin": { "type": "number", "add": false, "set": false, "get": true, "description": "value-axis minimum readback (also surfaced via min on axis-by-role path).", "readback": "numeric value", "enforcement": "report" }, "axisNumFmt": { "type": "string", "add": false, "set": false, "get": true, "description": "axis number format string.", "readback": "format code", "enforcement": "report" }, "axisOrientation": { "type": "string", "add": false, "set": false, "get": true, "description": "axis scaling orientation (e.g. maxMin when reversed).", "readback": "orientation token", "enforcement": "report" }, "axisTitle": { "type": "string", "add": false, "set": false, "get": true, "description": "value-axis title readback (chart-level convenience; axis-by-role uses 'title').", "readback": "title string", "enforcement": "report" }, "format": { "type": "string", "description": "number format string", "set": true, "get": true, "examples": [ "--prop format=\"#,##0\"", "--prop format=\"#,##0.00\"" ], "enforcement": "report" }, "labelOffset": { "type": "number", "add": false, "set": false, "get": true, "description": "category axis label offset (% of default 100).", "readback": "integer percentage", "enforcement": "report" }, "labelRotation": { "type": "number", "description": "tick label rotation in degrees", "set": true, "get": true, "examples": [ "--prop labelRotation=-45" ], "enforcement": "report" }, "logBase": { "type": "number", "description": "logarithmic base for value axis scale. Only valid for role=value or role=value2; ignored on category axes.", "set": true, "get": true, "appliesWhen": { "role": [ "value", "value2" ] }, "examples": [ "--prop logBase=10" ], "readback": "number (e.g. 10)", "enforcement": "report" }, "majorGridlines": { "type": "bool", "description": "show or hide major gridlines. Applies to all roles.", "set": true, "get": true, "examples": [ "--prop majorGridlines=true" ], "enforcement": "report" }, "max": { "type": "number", "description": "maximum scale of the value axis. Only valid for role=value or role=value2; ignored on category axes.", "set": true, "get": true, "appliesWhen": { "role": [ "value", "value2" ] }, "examples": [ "--prop max=1000", "--prop max=250" ], "enforcement": "report" }, "min": { "type": "number", "description": "minimum scale of the value axis. Only valid for role=value or role=value2; ignored on category axes.", "set": true, "get": true, "appliesWhen": { "role": [ "value", "value2" ] }, "examples": [ "--prop min=0" ], "enforcement": "report" }, "minorGridlines": { "type": "bool", "description": "show or hide minor gridlines. Applies to all roles.", "set": true, "get": true, "examples": [ "--prop minorGridlines=false" ], "enforcement": "report" }, "tickLabelSkip": { "type": "number", "add": false, "set": false, "get": true, "description": "category axis label skip interval (>1 means tick labels are sparser).", "readback": "integer interval", "enforcement": "report" }, "title": { "type": "string", "description": "axis title text. Applies to all roles (category, value). Pass 'none' to remove.", "set": true, "get": true, "examples": [ "--prop title=\"Revenue\"", "--prop title=\"Quarter\"" ], "enforcement": "report" }, "visible": { "type": "bool", "description": "show or hide the axis. Applies to all roles.", "set": true, "get": true, "examples": [ "--prop visible=false" ], "enforcement": "report" } } }