Intro
You can add custom charts to your Domo instance via the following formats in the Admin Settings or Analyzer.- SVG (Scalable Vector Graphics) — An XML-based markup language for describing two-dimensional based vector graphics.
- KML (Keyhole Markup Language) — A file format used to display geographic data in an Earth browser such as Google Earth.
- GeoJSON — An open standard format designed for representing simple geographical features, along with their non-spatial attributes.
- TopoJSON — An extension of GeoJSON that encodes geospatial topology and that typically provides smaller file sizes.
- Shape — ESRI standard file format. Includes geospatial vector data (import Google Earth and export as KML).

Required Grants
You must have an Admin default security role or a custom role with the Manage All Cards, Pages and Apps (App Studio) grant enabled to add custom charts to your Domo instance. For more information about default security roles, see Managing Custom Roles. As a simple example, let’s say user JJ, an executive at a doll factory in Hong Kong, wants to build a card showing sales of a new line of dolls throughout all the districts of Hong Kong. With the set of preinstalled maps available in Domo, she would have no way to do this. However, with Domo’s custom charts feature, all JJ has to do is go online, download an SVG map of Hong Kong, then add it to her Domo in the Admin Settings or in Analyzer. The map is now available for JJ to use as well as anyone else with card-building permissions. JJ creates her card in the same way she would create any other map card—by uploading the DataSet with her sales data, opening the Analyzer, selecting the “Hong Kong” map type, and plugging in the columns from the DataSet. The resulting map looks as follows:




Summary of steps
In general, the process for adding custom charts to your Domo and building cards from them will go as follows:- Obtain the chart you want to add.
- Edit the XML if necessary.
- Add the chart to Domo in Admin Settings or Analyzer.
- Build your chart card in Analyzer.
Obtaining an SVG chart
In most cases, you can obtain an SVG chart for use in Domo by either a) downloading it from the Internet, or b) building it yourself. If you want to install a map for a country not available in Domo, you can download it from any of a number of websites, such as http://www.amcharts.com/svg-maps/ and https://simplemaps.com/resources/svg-maps. These sites also include maps for overseas territories such as French Guiana, Aruba, and so on. Once you have downloaded one of these maps, you can immediately upload it to Domo—there is no need to manipulate the XML (unless you are planning to divide it into subregions). If you want to build an SVG chart yourself, you can do so using any of a number of vector-based drawing applications such as Adobe Illustrator or Inkscape. For information about these or other applications, please refer to their documentation.Editing the XML for your chart
If your SVG is not a simple regional map or requires any customization, you will need to edit the XML to incorporate the necessary changes. Based on the desired customizations and the complexity of the chart, these edits may be miniscule or extremely extensive. It is possible that you may attempt to upload an SVG chart to Domo and encounter an error; this is usually the result of unsupported tags in your XML. In this case you will need to either strip out the problematic tags or replace them with supported tags. This section provides lists of tags supported by Domo’s SVG converter along with those that are not currently supported.Supported XML tags
Supported shape tags
The following shape tags are supported:- path (all path commands are supported except rotating an arc)
- rect
- circle
- ellipse
- line
- polyline
- polygon
Supported style tags
The following style tags are supported, either with a tag, in the style attribute, or from CSS embedded in the SVG. (These tags cannot include data.)- fill
- stroke
- stroke-width
- fill-opacity
- stroke-opacity
- opacity
Supported transforms
Domo provides LIMITED support for the following transforms:- matrix()
- translate()
- scale()
- rotate()
Text tag
The text tag has LIMITED support. You cannot set the font, but Domo will attempt to use whatever font color and size you specify. rotate() is supported with text tags. You can also use the matrix() transform to rotate a text tag.Unsupported XML tags
Domo’s SVG converter does not currently support any of the following:- Gradient paints
- Patterns
- Filters
- Other complex fills
- Embedded images
Understanding SVG file structure
The following XML code was taken from an SVG file for a country map of Colombia. This shows the basic format for the file, with extraneous elements removed for simplicity and most path data elements condensed (indicated by ellipses). All of the tags used in this file are supported in Domo.
Note: If an attribute of data-name is found, this will be the name used to target data. If this attribute does not exist, the next in priority is name. If neither of this is specified, id will be used.


Adding custom charts to Domo
Once you have acquired the chart you want to add to your Domo instance—and edited the XML if necessary—the next step is to upload it to your Domo. You can do this in either of the following locations:- In Admin Settings > Company Settings > Custom Charts. You cannot access Company Settings unless you have an “Admin” default security profile or a custom role with “Manage All Company Settings” enabled.
- In the Chart Picker in Analyzer, by choosing Custom Charts then clicking the ”+” button at the bottom of the pane. This button does not appear unless you have an “Admin” security profile or a custom role with the Manage All Cards, Pages and Apps (App Studio) grant enabled.
- Navigate to More > Admin Settings > Company Settings > Custom Charts.
- Click Add Chart.
-
Do one of the following:
- Drag and drop your file into the “Drop file here” field.
-
Click Select File, navigate to the desired file, and select it.

- (Optional) Rename the file and enter a description if desired.
- Click Save.
- Open the Analyzer for a card.
- In the Chart Picker, select Custom Charts.
- Click the ”+” button at the bottom of the Custom Charts pane.
-
Do one of the following:
- Drag and drop your file into the “Drop file here” field.
- Click Select File, navigate to the desired file, and select it.
- (Optional) Rename the file and enter a description if desired.
- Click Save.