Skip to content

Instantly share code, notes, and snippets.

@willingc
Created April 17, 2023 22:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save willingc/3c29f332e23c15a9235d4c5662cdb909 to your computer and use it in GitHub Desktop.
Save willingc/3c29f332e23c15a9235d4c5662cdb909 to your computer and use it in GitHub Desktop.
temp
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"dashboard": {
"type": "object",
"properties": {
"multiViews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"dashboardFilter": { "type": "boolean" },
"decoration": {
"type": "object",
"properties": {
"footer": { "type": "string" },
"subtitle": { "type": "string" },
"title": { "type": "string" }
},
"required": ["footer", "subtitle", "title"]
},
"filterSettings": {
"type": "object",
"properties": {
"SHOW_FILTER_PANEL": { "type": "boolean" },
"filters": { "type": "array" }
},
"required": ["SHOW_FILTER_PANEL", "filters"]
},
"id": { "type": "string" },
"isDefault": { "type": "boolean" },
"viewSizes": { "type": "object" },
"views": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": { "type": "integer" },
"id": { "type": "string" },
"row": { "type": "integer" }
},
"required": ["column", "id", "row"]
}
},
"viewsIgnoringDashboardFilters": { "type": "object" }
},
"required": [
"dashboardFilter",
"decoration",
"filterSettings",
"id",
"isDefault",
"viewSizes",
"views",
"viewsIgnoringDashboardFilters"
]
}
}
},
"required": ["multiViews"]
},
"fieldMetadata": { "type": "object" },
"updated": { "type": "integer" },
"views": {
"type": "array",
"items": {
"type": "object",
"properties": {
"annotationRules": { "type": "array" },
"chart": {
"type": "object",
"properties": {
"barLabel": {
"enum": ["none", "show"],
"description": "Whether inline labels should appear on bar charts"
},
"barProjection": {
"description": "Which direction a bar chart, dot plot or dumbbell graph is drawn",
"enum": ["vertical", "horizontal", "radial"]
},
"deselectedKeysHash": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"dim1": {
"type": "string",
"description": "Data Table Dimension used for the groups in pie charts, bar charts, dot plots, funnel charts; edge list source for network charts; dimension matrix x axis"
},
"dim2": {
"type": "string",
"description": "Data Table Dimension used for path string data in funnel charts; y dimension in dimension matrix; edge list target in network diagrams"
},
"metric1": {
"type": "string",
"description": "Data table metric used for the x axis in a scatterplot, connected scatterplot and scatterplot matrix as well as the primary value for combined bar chart, Big Number, dimension matrix, pathstring funnels, hierarchy charts, network charts, pie charts, summary charts"
},
"metric2": {
"type": "string",
"description": "Data table metric used for the y axis in a scatterplot, connected scatterplot and scatterplot matrix"
},
"metric3": {
"type": "string",
"description": "Data table metric used to encode bar width in the combined bar chart"
},
"metric4": {
"type": "string",
"description": "Data table metric used to encode error bars in the combined bar chart"
},
"combinationMode": {
"enum": ["SUM", "AVG", "MIN", "MAX", "MED"],
"description": "How multiple rows of values are combined when they are grouped together in bar, hierarchy, line, connected scatterplot chart modes"
},
"lineSmoothing": {
"enum": ["hourly", "daily", "7dma", "weekly", "monthly", "yearly", "none"],
"description": "What level to aggregate points in time series and connected scatterplot and candlestick charts"
},
"bigNumberSecondMetric": {
"type": "string",
"description": "Data Table Metric used to encode the comparison value in Big Number"
},
"bigNumberComparison": {
"enum": ["raw", "percent"],
"description": "Whether to show the comparison between the primary and secondary value in Big Number in absolute terms or as percent"
},
"sparkchart": {
"enum": ["none", "distribution", "over time"],
"description": "Whether to show a chart of the data and what kind of chart to show along with the Big Number display"
},
"cspOrder": {
"type": "string",
"description": "Data Table Metric used to determine the line drawing order of a connected scatterplot"
},
"gridSize": {
"type": "integer",
"description": "Number of rows and columns to show in dimension matrix. Max of 50."
},
"hierarchyType": {
"enum": ["dendrogram", "treemap", "partition", "sunburst"],
"description": "Determines the kind of hierarchical visualization showin in the 'hierarchy' chart mode"
},
"mapMode": {
"enum": ["choro", "point"],
"description": "Deterimines the kind of map displayed (choro: choropleth, point: tile map with points) in the 'map' chart mode"
},
"parCoordsColor": {
"description": "Deprecated in favor of confo rules",
"type": "string"
},
"parcoordsColumns": {
"type": "array",
"description": "An array of field names from data table to be displayed in the parallel coordinates chart mode",
"items": {
"type": "string"
}
},
"filteredDataOnly": {
"type": "boolean",
"description": "Show only the filtered data in a parallel coordinates display versus showing the filtered data overlaid on the base data"
},
"pieLabelType": {
"enum": ["annotation", "stem", "center", "none", "rim"],
"description": "Determines the kind of labeling used for pie charts"
},
"pointType": {
"enum": ["Lollipop", "Dot Plot"],
"description": "Whether to display a dot plot as floating dots or dots with stems"
},
"proBarMode": {
"enum": ["Clustered", "Combined", "Stacked"],
"description": "Determines whether to use a simple bar chart that combines values (Combined), Clustered or Stacked bar chart in 'bar' chart mode"
},
"radarData": {
"enum": ["column", "row"],
"description": "If set to column then Radar Plot uses the 'selectedBarMetrics' to display data, otherwise if set to 'row' it uses 'metric1' and 'dim1' to display data"
},
"barSubcategory": {
"type": "string",
"description": "Data Table Dimension that when set and in radar plot row data mode, this determines the different radars drawn"
},
"groupOther": {
"type": "boolean",
"description": "In bar and dot plot whether to group the smallest columns into an other category if there are more than 20 columns of data"
},
"enforceCombinedColor": {
"type": "boolean",
"description": "Used by SPLOM to make the diagonal bar charts share the same color scheme"
},
"sortColumnsBy": {
"enum": [
"desc-col-string",
"asc-col-string",
"desc-val",
"asc-val",
"desc-col-int",
"asc-col-int",
"desc-col-date",
"asc-col-date"
],
"description": "In dot plot, summary and bar chart modes, whether to sort alphabetically by column name, total column value, value of the column name or time value of the column name"
},
"secondBarMetric": {
"type": "string",
"description": "Data Table Metric used for the multi-axis combined bar chart second metric or dumbbell plot second metric"
},
"secondMetricStyle": {
"type": "string",
"description": "Whether the multi-axis combined bar chart uses a second bar or a line to encode the second metric"
},
"barGrouping": {
"type": "string",
"description": "deprecated"
},
"zeroBaseline": {
"type": "boolean",
"description": "Whether dot plots, radar plots or line charts should have a zero baseline or not"
},
"labelType": {
"enum": ["angle", "stagger", "flat", "stem", "none"],
"description": "How to display labels for bar charts, dot plots and summary charts"
},
"columnLine": {
"type": "boolean",
"description": "Whether to show a radar plot as a column line chart (true) or polar projected radar plot (false)"
},
"scatterplotSize": {
"type": "string",
"description": "Set to a metric in the data to change the size of scatterplot points based on that metric"
},
"selectedBarMetrics": {
"type": "array",
"description": "The metrics displayed in Clustered Bar, Stacked Bar and Radar Plot (if set to use columns)"
},
"selectedDimensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Dimensions from the data that are used to determine nesting in hierarchy chart mode"
},
"selectedMetrics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Metrics from the data that are displayed in time series charts, scatterplot matrix and survey chart"
},
"showTotal": {
"type": "boolean",
"description": "Whether to display the total value in a pie chart (inside the pie, thereby making it a donut chart) or not"
},
"splomMode": {
"enum": ["correlation", "basic-matrix"],
"description": "If set to 'basic-matrix' the 'splom' chart mode will show a scatterplot matrix and if set to 'correlation' it will show only correlation values"
},
"summaryType": {
"enum": ["violin", "heatmap", "histogram", "boxplot", "horizon", "ridgeline"],
"description": "Determines which summary chart is displayed in 'summary' chart mode"
},
"networkLabel": {
"enum": ["none", "scaled", "static"],
"description": "Whether to show labels in funnel and network charts and wether they should be sized based on node size"
},
"funnelData": {
"enum": ["metric", "pathstring"],
"description": "Whether funnels are built based on funnelMetricOrder array (metric) or dim1 pathstring + metric1 value (pathstring)"
},
"funnelMetricOrder": {
"type": "array",
"items": { "type": "string" },
"description": "Data Table Metrics used for metric funnels"
},
"funnelMode": {
"enum": ["bar", "tree", "sunburst", "flow", "graphic", "arc"],
"description": "Which funnel visualization to display if in 'funnel' chart mode"
},
"funnelDirection": {
"enum": ["linear", "radial"],
"description": "Whether the sunburst and tree funnels are show flat or polar-projected"
},
"funnelColorMode": {
"enum": ["magnitude", "node"],
"description": "Whether the based coloring of funnel charts is by value or step"
},
"facets": {
"type": "array",
"description": "A collection of instructions for how to draw variations on displaying the data"
},
"facetMetrics": {
"type": "array",
"items": { "type": "string" },
"description": "Currently selected metrics for the faceting interface, should be deprecated in favor of UI state"
},
"suggestionFields": {
"type": "array",
"items": { "type": "string" },
"description": "Currently selected fields for data prism prioritized suggestions"
},
"boundingSettings": {
"type": "object",
"description": "A has indicating whether line charts have upper or lower bounds and which metric represents them"
},
"boundingType": {
"enum": ["absolute", "relative"],
"description": "Whether bounds are expected to be a raw value or percent difference"
},
"lineType": {
"enum": [
"line",
"stackedarea",
"bumparea",
"stackedpercent",
"cumulative",
"linepercent"
],
"description": "What time series chart to display in 'line' chart mode"
},
"timeseriesSort": {
"type": "string",
"description": "Which data table metric determines the x-axis of a time series chart"
},
"splitLinesBy": {
"type": "string",
"description": "A data table dimension that is used to split line data by that dimension's categories in 'line' chart mode"
},
"multiAxisLine": {
"type": "boolean",
"description": "Whether to use a multi-axis display in chart mode 'line' chart Mode with 'line' lineType but only applies if there are exactly 2 'selectedMetrics'"
},
"lineBrush": {
"type": "object",
"description": "A hash determining if a 'timeseriesSort' accessor has an active brush and the extent of that brush"
},
"isBrushing": {
"type": "boolean",
"description": "If brushing is active in 'line' chart mode"
},
"lineLabels": {
"enum": ["none", "name", "value"],
"description": "The type of end-of-line labels active in 'line' chart mode"
},
"lineInterpolator": {
"enum": ["linear", "step", "monotone"],
"description": "The kind of rendering in 'line' chart mode"
},
"networkLabelContents": {
"enum": ["none", "value", "id", "id-value"],
"description": "How nodes are labeled in 'network' chart mode"
},
"networkType": {
"enum": ["force", "sankey", "arc", "matrix"],
"description": "The kind of visualization displayed in 'network' chart mode"
},
"edgeMode": {
"enum": ["adjacency list", "edge list"],
"description": "Whether network uses dim2 as a target (edge list) or 'adjacenyList' as a comma-delimited list of targets in 'network' chart mode"
},
"adjacencyList": {
"type": "string",
"description": "A comma-delimited list of targets for network data in 'network' chart mode"
},
"pieLabelContents": {
"enum": ["name", "value", "percent", "name-value", "name-percent", "value-percent"],
"description": "The label applied in pie charts"
},
"dim3": { "type": "string", "description": "deprecated" },
"trendLine": {
"enum": ["none", "linear", "polynomial", "logarithmic", "exponential", "power"],
"description": "The kind of trendline drawn in 'scatter' chart mode"
},
"formulaDisplay": {
"enum": ["none", "r2", "formula"],
"description": "The format of the trendline formula in scatter chart mode"
},
"marginalGraphics": {
"enum": [
"none",
"violin",
"heatmap",
"histogram",
"boxplot",
"horizon",
"ridgeline"
],
"description": "The kind of marginal graphics displayed in 'scatter' chart mode"
},
"showContours": {
"enum": ["contours-only", false, true],
"description": "Whether to show contours (contours-only), no contours (false) or contours & points (true) in 'scatter' chart mode"
},
"overridePointSize": {
"type": "number",
"description": "Used by SPLOM to ensure a small point size"
},
"areaType": {
"type": "string",
"description": "Unused but available to also show XY heatmaps instead of just hexbins"
},
"scatterBrush": {
"type": "object",
"description": "A hash of x-metric and y-metric showing the brushed extent in 'scatter' chart mode"
},
"scatterplotColor": {
"type": "string",
"description": "deprecated"
},
"violinIQR": {
"type": "boolean",
"description": "Whether to show the IQR line on violin plots in 'summary' chart mode with 'violin' summaryType"
},
"boxplotOutliers": {
"type": "boolean",
"description": "Whether to show 1.5x IQR outliers on boxplots in 'summary' chart mode with 'boxplot' summaryType"
},
"summaryBins": {
"type": "number",
"description": "The number of bins used in 'summary' chart mode"
},
"surveyResponses": {
"type": "object",
"description": "A hash of positive, negative, neutral arrays of selected metrics for 'survey' chart mode"
},
"surveyDataType": {
"enum": ["row", "column"],
"description": "Whether to use data as rows (row uses select your own surveyResponses) or automatically decompose likert-like data from columns (column)"
},
"selectedMetricsDiverging": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used in 'column' surveyDataType mode"
},
"candleHigh": {
"type": "string",
"description": "The high value in a candlestick plot in 'timebar' chart mode"
},
"candleLow": {
"type": "string",
"description": "The low value in a candlestick plot in 'timebar' chart mode"
},
"candleOpen": {
"type": "string",
"description": "The open value in a candlestick plot in 'timebar' chart mode"
},
"candleClose": {
"type": "string",
"description": "The close value in a candlestick plot in 'timebar' chart mode"
},
"baseLayer": {
"enum": ["world", "us_states", "us_states_inset", "us_counties"],
"description": "Which vector layer to bind data to in 'choro' mapMode for 'map' chart mode"
},
"mapZoom": {
"enum": ["data", "basemap"],
"description": "Whether to constrain the map to the data or show the entire base map in 'choro' mapMode for 'map' chart mode"
},
"bgColor": {
"type": "string",
"description": "The background color for 'choro' mapMode in 'map' chart mode"
},
"baseLayerFill": {
"type": "string",
"description": "The polygon fill when not filled with data color for 'choro' mapMode in 'map' chart mode"
},
"baseLayerStroke": {
"type": "string",
"description": "The polygon line color for 'choro' mapMode in 'map' chart mode"
},
"wordColor": {
"enum": ["none", "random"],
"description": "Whether to leave words black (none) pr randomly colored in 'wordcloud' chart mode"
},
"wordRotate": {
"enum": ["none", "jitter", "45", "90"],
"description": "How to arrange the words in 'wordcloud' chart mode"
},
"wordData": {
"type": "string",
"description": "The data table dimension that determines word data for 'wordcloud' chart mode"
},
"textDataFormat": {
"enum": ["sentence", "token"],
"description": "Whether 'wordcloud' splits a sentence into individual words (sentence) or shows the entire sentence (token) and uses tokenMetric"
},
"tokenMetric": {
"type": "string",
"description": "Determines word size based on selected Data Table Metric"
},
"tableStatistics": {
"type": "boolean",
"description": "Whether to show table statistics in 'grid' chart mode"
},
"tableSparklines": {
"type": "boolean",
"description": "Whether to show table sparklines in 'grid' chart mode"
},
"layerSettings": {
"description": "Settings for map and tile map chart modes that only honor the first item in the array",
"type": "array",
"items": {
"type": "object",
"properties": {
"color": {
"type": "string"
},
"hoverOpts": {
"type": "object",
"properties": {
"dims": {
"type": "array",
"items": {
"type": "string"
}
},
"mets": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"id": {
"type": "string"
},
"latDim": {
"type": "string"
},
"longDim": {
"type": "string"
},
"pointSizeOpts": {
"type": "object",
"properties": {
"max": {
"type": "number"
},
"met": {
"type": "string"
},
"min": {
"type": "number"
},
"mode": {
"type": "string"
},
"scale": {
"type": "string"
},
"size": {
"type": "number"
},
"sizeMax": {
"type": "number"
},
"sizeMin": {
"type": "number"
}
},
"additionalProperties": false
},
"size": {
"type": "number"
},
"stroke": {
"type": "string"
},
"strokeWidth": {
"type": "number"
},
"transparency": {
"type": "number"
},
"type": {
"type": "string"
}
},
"required": [
"color",
"hoverOpts",
"id",
"latDim",
"longDim",
"pointSizeOpts",
"size",
"stroke",
"strokeWidth",
"transparency",
"type"
],
"additionalProperties": false
}
}
}
},
"chartMode": {
"type": "string",
"enum": [
"line",
"bar",
"scatter",
"grid",
"network",
"summary",
"hexbin",
"hierarchy",
"splom",
"dimensionmatrix",
"map",
"tilemap",
"wordcloud",
"bignumber",
"funnel",
"pie",
"timebar",
"survey",
"dotplot",
"parcoords",
"connectedscatter"
],
"description": "Sets the high-level chart mode of a DEX which determines its chart category. 'line' for time series charts, 'bar' for bar charts, 'scatter' for scatterplots, 'grid' for interactive data table, 'network' for network visualization, 'summary' for distribution visualization, 'hexbin' for hexbins, 'hierarchy' for treemaps & dendrograms, 'splom' for scatterplot matrix, 'dimensionmatrix' for dimension matrix, 'map' for choropleht maps, 'tilemap' for point-based tile maps, 'wordcloud' for word clouds, 'bignumber' for overview summary numbers, 'funnel' for funnel visualizations, 'pie' for pie charts, 'timebar' for candlestick charts, 'survey' for likert-style data visualization in diverging bar charts,'dotplot' for dot plots & dumbbell plots, 'parcoords' for parallel coordinates, 'connectedscatter' for connected scatterplots"
},
"confoRules": { "type": "array" },
"decoration": {
"type": "object",
"properties": {
"footer": { "type": "string" },
"subtitle": { "type": "string" },
"title": { "type": "string" }
},
"required": ["footer", "subtitle", "title"]
},
"facets": { "type": "array" },
"filterSettings": {
"type": "object",
"properties": {
"SHOW_FILTER_PANEL": { "type": "boolean" },
"filters": { "type": "array" }
},
"required": ["SHOW_FILTER_PANEL", "filters"]
},
"id": { "type": "string" },
"isComment": { "type": "boolean" },
"isDefault": { "type": "boolean" },
"isTransitory": { "type": "boolean" },
"type": { "type": "string" },
"userID": { "type": "string" }
},
"required": [""]
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment