summaryrefslogtreecommitdiff
path: root/xmlChart.go
diff options
context:
space:
mode:
Diffstat (limited to 'xmlChart.go')
-rw-r--r--xmlChart.go634
1 files changed, 634 insertions, 0 deletions
diff --git a/xmlChart.go b/xmlChart.go
new file mode 100644
index 0000000..335e388
--- /dev/null
+++ b/xmlChart.go
@@ -0,0 +1,634 @@
+package excelize
+
+// chartSpace directly maps the xlsxChart element.
+type xlsxChartSpace struct {
+ ChartSpace cChartSpace `xml:"c:chartSpace"`
+}
+
+// cChartSpace directly maps the c:chartSpace element. The chart namespace in
+// DrawingML is for representing visualizations of numeric data with column
+// charts, pie charts, scatter charts, or other types of charts.
+type cChartSpace struct {
+ XMLNSc string `xml:"xmlns:c,attr"`
+ XMLNSa string `xml:"xmlns:a,attr"`
+ XMLNSr string `xml:"xmlns:r,attr"`
+ XMLNSc16r2 string `xml:"xmlns:c16r2,attr"`
+ Date1904 *attrValBool `xml:"c:date1904"`
+ Lang *attrValString `xml:"c:lang"`
+ RoundedCorners *attrValBool `xml:"c:roundedCorners"`
+ Chart cChart `xml:"c:chart"`
+ SpPr *cSpPr `xml:"c:spPr"`
+ TxPr *cTxPr `xml:"c:txPr"`
+ PrintSettings *cPrintSettings `xml:"c:printSettings"`
+}
+
+// cThicknessSpPr directly maps the element that specifies the thickness of the
+// walls or floor as a percentage of the largest dimension of the plot volume
+// and SpPr element.
+type cThicknessSpPr struct {
+ Thickness *attrValInt `xml:"c:thickness"`
+ SpPr *cSpPr `xml:"c:spPr"`
+}
+
+// cChart (Chart) directly maps the c:chart element. This element specifies a
+// title.
+type cChart struct {
+ Title *cTitle `xml:"c:title"`
+ AutoTitleDeleted *cAutoTitleDeleted `xml:"c:autoTitleDeleted"`
+ View3D *cView3D `xml:"c:view3D"`
+ Floor *cThicknessSpPr `xml:"c:floor"`
+ SideWall *cThicknessSpPr `xml:"c:sideWall"`
+ BackWall *cThicknessSpPr `xml:"c:backWall"`
+ PlotArea *cPlotArea `xml:"c:plotArea"`
+ Legend *cLegend `xml:"c:legend"`
+ PlotVisOnly *attrValBool `xml:"c:plotVisOnly"`
+ DispBlanksAs *attrValString `xml:"c:dispBlanksAs"`
+ ShowDLblsOverMax *attrValBool `xml:"c:showDLblsOverMax"`
+}
+
+// cTitle (Title) directly maps the c:title element. This element specifies a
+// title.
+type cTitle struct {
+ Tx cTx `xml:"c:tx,omitempty"`
+ Layout string `xml:"c:layout,omitempty"`
+ Overlay attrValBool `xml:"c:overlay,omitempty"`
+ SpPr cSpPr `xml:"c:spPr,omitempty"`
+ TxPr cTxPr `xml:"c:txPr,omitempty"`
+}
+
+// cTx (Chart Text) directly maps the c:tx element. This element specifies text
+// to use on a chart, including rich text formatting.
+type cTx struct {
+ StrRef *cStrRef `xml:"c:strRef"`
+ Rich *cRich `xml:"c:rich,omitempty"`
+}
+
+// cRich (Rich Text) directly maps the c:rich element. This element contains a
+// string with rich text formatting.
+type cRich struct {
+ BodyPr aBodyPr `xml:"a:bodyPr,omitempty"`
+ LstStyle string `xml:"a:lstStyle,omitempty"`
+ P aP `xml:"a:p"`
+}
+
+// aBodyPr (Body Properties) directly maps the a:bodyPr element. This element
+// defines the body properties for the text body within a shape.
+type aBodyPr struct {
+ Anchor string `xml:"anchor,attr,omitempty"`
+ AnchorCtr bool `xml:"anchorCtr,attr"`
+ Rot int `xml:"rot,attr"`
+ BIns float64 `xml:"bIns,attr,omitempty"`
+ CompatLnSpc bool `xml:"compatLnSpc,attr,omitempty"`
+ ForceAA bool `xml:"forceAA,attr,omitempty"`
+ FromWordArt bool `xml:"fromWordArt,attr,omitempty"`
+ HorzOverflow string `xml:"horzOverflow,attr,omitempty"`
+ LIns float64 `xml:"lIns,attr,omitempty"`
+ NumCol int `xml:"numCol,attr,omitempty"`
+ RIns float64 `xml:"rIns,attr,omitempty"`
+ RtlCol bool `xml:"rtlCol,attr,omitempty"`
+ SpcCol int `xml:"spcCol,attr,omitempty"`
+ SpcFirstLastPara bool `xml:"spcFirstLastPara,attr"`
+ TIns float64 `xml:"tIns,attr,omitempty"`
+ Upright bool `xml:"upright,attr,omitempty"`
+ Vert string `xml:"vert,attr,omitempty"`
+ VertOverflow string `xml:"vertOverflow,attr,omitempty"`
+ Wrap string `xml:"wrap,attr,omitempty"`
+}
+
+// aP (Paragraph) directly maps the a:p element. This element specifies a
+// paragraph of content in the document.
+type aP struct {
+ PPr aPPr `xml:"a:pPr"`
+ R *aR `xml:"a:r"`
+ EndParaRPr *aEndParaRPr `xml:"a:endParaRPr"`
+}
+
+// aPPr (Paragraph Properties) directly maps the a:pPr element. This element
+// specifies a set of paragraph properties which shall be applied to the
+// contents of the parent paragraph after all style/numbering/table properties
+// have been applied to the text. These properties are defined as direct
+// formatting, since they are directly applied to the paragraph and supersede
+// any formatting from styles.
+type aPPr struct {
+ DefRPr aDefRPr `xml:"a:defRPr"`
+}
+
+// aDefRPr directly maps the a:defRPr element. This element contains all
+// default run level text properties for the text runs within a containing
+// paragraph. These properties are to be used when overriding properties have
+// not been defined within the rPr element.
+type aDefRPr struct {
+ AltLang string `xml:"altLang,attr,omitempty"`
+ B bool `xml:"b,attr"`
+ Baseline int `xml:"baseline,attr"`
+ Bmk string `xml:"bmk,attr,omitempty"`
+ Cap string `xml:"cap,attr,omitempty"`
+ Dirty bool `xml:"dirty,attr,omitempty"`
+ Err bool `xml:"err,attr,omitempty"`
+ I bool `xml:"i,attr"`
+ Kern int `xml:"kern,attr"`
+ Kumimoji bool `xml:"kumimoji,attr,omitempty"`
+ Lang string `xml:"lang,attr,omitempty"`
+ NoProof bool `xml:"noProof,attr,omitempty"`
+ NormalizeH bool `xml:"normalizeH,attr,omitempty"`
+ SmtClean bool `xml:"smtClean,attr,omitempty"`
+ SmtID uint64 `xml:"smtId,attr,omitempty"`
+ Spc int `xml:"spc,attr"`
+ Strike string `xml:"strike,attr,omitempty"`
+ Sz int `xml:"sz,attr"`
+ U string `xml:"u,attr,omitempty"`
+ SolidFill *aSolidFill `xml:"a:solidFill"`
+ Latin *aLatin `xml:"a:latin"`
+ Ea *aEa `xml:"a:ea"`
+ Cs *aCs `xml:"a:cs"`
+}
+
+// aSolidFill (Solid Fill) directly maps the solidFill element. This element
+// specifies a solid color fill. The shape is filled entirely with the specified
+// color.
+type aSolidFill struct {
+ SchemeClr *aSchemeClr `xml:"a:schemeClr,omitempty"`
+}
+
+// aSchemeClr (Scheme Color) directly maps the a:schemeClr element. This
+// element specifies a color bound to a user's theme. As with all elements which
+// define a color, it is possible to apply a list of color transforms to the
+// base color defined.
+type aSchemeClr struct {
+ Val string `xml:"val,attr,omitempty"`
+ LumMod *attrValInt `xml:"a:lumMod"`
+ LumOff *attrValInt `xml:"a:lumOff"`
+}
+
+// attrValInt directly maps the val element with integer data type as an
+// attribute。
+type attrValInt struct {
+ Val int `xml:"val,attr"`
+}
+
+// attrValBool directly maps the val element with boolean data type as an
+// attribute。
+type attrValBool struct {
+ Val bool `xml:"val,attr"`
+}
+
+// attrValString directly maps the val element with string data type as an
+// attribute。
+type attrValString struct {
+ Val string `xml:"val,attr"`
+}
+
+// aCs directly maps the a:cs element.
+type aCs struct {
+ Typeface string `xml:"typeface,attr"`
+}
+
+// aEa directly maps the a:ea element.
+type aEa struct {
+ Typeface string `xml:"typeface,attr"`
+}
+
+// aLatin (Latin Font) directly maps the a:latin element. This element
+// specifies that a Latin font be used for a specific run of text. This font is
+// specified with a typeface attribute much like the others but is specifically
+// classified as a Latin font.
+type aLatin struct {
+ Typeface string `xml:"typeface,attr"`
+}
+
+// aR directly maps the a:r element.
+type aR struct {
+ RPr aRPr `xml:"a:rPr,omitempty"`
+ T string `xml:"a:t,omitempty"`
+}
+
+// aRPr (Run Properties) directly maps the c:rPr element. This element
+// specifies a set of run properties which shall be applied to the contents of
+// the parent run after all style formatting has been applied to the text. These
+// properties are defined as direct formatting, since they are directly applied
+// to the run and supersede any formatting from styles.
+type aRPr struct {
+ Lang string `xml:"lang,attr,omitempty"`
+ AltLang string `xml:"altLang,attr,omitempty"`
+}
+
+// cSpPr (Shape Properties) directly maps the c:spPr element. This element
+// specifies the visual shape properties that can be applied to a shape. These
+// properties include the shape fill, outline, geometry, effects, and 3D
+// orientation.
+type cSpPr struct {
+ NoFill *string `xml:"a:noFill"`
+ SolidFill *aSolidFill `xml:"a:solidFill"`
+ Ln *aLn `xml:"a:ln"`
+ Sp3D *aSp3D `xml:"a:sp3d"`
+ EffectLst *string `xml:"a:effectLst"`
+}
+
+// aSp3D (3-D Shape Properties) directly maps the a:sp3d element. This element
+// defines the 3D properties associated with a particular shape in DrawingML.
+// The 3D properties which can be applied to a shape are top and bottom bevels,
+// a contour and an extrusion.
+type aSp3D struct {
+ ContourW int `xml:"contourW,attr"`
+ ContourClr *aContourClr `xml:"a:contourClr"`
+}
+
+// aContourClr (Contour Color) directly maps the a:contourClr element. This
+// element defines the color for the contour on a shape. The contour of a shape
+// is a solid filled line which surrounds the outer edges of the shape.
+type aContourClr struct {
+ SchemeClr *aSchemeClr `xml:"a:schemeClr"`
+}
+
+// aLn (Outline) directly maps the a:ln element. This element specifies an
+// outline style that can be applied to a number of different objects such as
+// shapes and text. The line allows for the specifying of many different types
+// of outlines including even line dashes and bevels.
+type aLn struct {
+ Algn string `xml:"algn,attr,omitempty"`
+ Cap string `xml:"cap,attr,omitempty"`
+ Cmpd string `xml:"cmpd,attr,omitempty"`
+ W int `xml:"w,attr,omitempty" `
+ NoFill string `xml:"a:noFill,omitempty"`
+ Round string `xml:"a:round,omitempty"`
+ SolidFill *aSolidFill `xml:"a:solidFill"`
+}
+
+// cTxPr (Text Properties) directly maps the c:txPr element. This element
+// specifies text formatting. The lstStyle element is not supported.
+type cTxPr struct {
+ BodyPr aBodyPr `xml:"a:bodyPr,omitempty"`
+ LstStyle string `xml:"a:lstStyle,omitempty"`
+ P aP `xml:"a:p,omitempty"`
+}
+
+// aEndParaRPr (End Paragraph Run Properties) directly maps the a:endParaRPr
+// element. This element specifies the text run properties that are to be used
+// if another run is inserted after the last run specified. This effectively
+// saves the run property state so that it can be applied when the user enters
+// additional text. If this element is omitted, then the application can
+// determine which default properties to apply. It is recommended that this
+// element be specified at the end of the list of text runs within the paragraph
+// so that an orderly list is maintained.
+type aEndParaRPr struct {
+ Lang string `xml:"lang,attr"`
+}
+
+// cAutoTitleDeleted (Auto Title Is Deleted) directly maps the
+// c:autoTitleDeleted element. This element specifies the title shall not be
+// shown for this chart.
+type cAutoTitleDeleted struct {
+ Val bool `xml:"val,attr"`
+}
+
+// cView3D (View In 3D) directly maps the c:view3D element. This element
+// specifies the 3-D view of the chart.
+type cView3D struct {
+ RotX *attrValInt `xml:"c:rotX"`
+ RotY *attrValInt `xml:"c:rotY"`
+ DepthPercent *attrValInt `xml:"c:depthPercent"`
+ RAngAx *attrValInt `xml:"c:rAngAx"`
+}
+
+// cPlotArea directly maps the c:plotArea element. This element specifies the
+// plot area of the chart.
+type cPlotArea struct {
+ Layout *string `xml:"c:layout"`
+ BarChart *cCharts `xml:"c:barChart"`
+ Bar3DChart *cCharts `xml:"c:bar3DChart"`
+ DoughnutChart *cCharts `xml:"c:doughnutChart"`
+ LineChart *cCharts `xml:"c:lineChart"`
+ PieChart *cCharts `xml:"c:pieChart"`
+ Pie3DChart *cCharts `xml:"c:pie3DChart"`
+ RadarChart *cCharts `xml:"c:radarChart"`
+ ScatterChart *cCharts `xml:"c:scatterChart"`
+ CatAx []*cAxs `xml:"c:catAx"`
+ ValAx []*cAxs `xml:"c:valAx"`
+ SpPr *cSpPr `xml:"c:spPr"`
+}
+
+// cCharts specifies the common element of the chart.
+type cCharts struct {
+ BarDir *attrValString `xml:"c:barDir"`
+ Grouping *attrValString `xml:"c:grouping"`
+ RadarStyle *attrValString `xml:"c:radarStyle"`
+ ScatterStyle *attrValString `xml:"c:scatterStyle"`
+ VaryColors *attrValBool `xml:"c:varyColors"`
+ Ser *[]cSer `xml:"c:ser"`
+ DLbls *cDLbls `xml:"c:dLbls"`
+ HoleSize *attrValInt `xml:"c:holeSize"`
+ Smooth *attrValBool `xml:"c:smooth"`
+ AxID []*attrValInt `xml:"c:axId"`
+}
+
+// cAxs directly maps the c:catAx and c:valAx element.
+type cAxs struct {
+ AxID *attrValInt `xml:"c:axId"`
+ Scaling *cScaling `xml:"c:scaling"`
+ Delete *attrValBool `xml:"c:delete"`
+ AxPos *attrValString `xml:"c:axPos"`
+ NumFmt *cNumFmt `xml:"c:numFmt"`
+ MajorTickMark *attrValString `xml:"c:majorTickMark"`
+ MinorTickMark *attrValString `xml:"c:minorTickMark"`
+ TickLblPos *attrValString `xml:"c:tickLblPos"`
+ SpPr *cSpPr `xml:"c:spPr"`
+ TxPr *cTxPr `xml:"c:txPr"`
+ CrossAx *attrValInt `xml:"c:crossAx"`
+ Crosses *attrValString `xml:"c:crosses"`
+ CrossBetween *attrValString `xml:"c:crossBetween"`
+ Auto *attrValBool `xml:"c:auto"`
+ LblAlgn *attrValString `xml:"c:lblAlgn"`
+ LblOffset *attrValInt `xml:"c:lblOffset"`
+ NoMultiLvlLbl *attrValBool `xml:"c:noMultiLvlLbl"`
+}
+
+// cScaling directly maps the c:scaling element. This element contains
+// additional axis settings.
+type cScaling struct {
+ Orientation *attrValString `xml:"c:orientation"`
+}
+
+// cNumFmt (Numbering Format) directly maps the c:numFmt element. This element
+// specifies number formatting for the parent element.
+type cNumFmt struct {
+ FormatCode string `xml:"formatCode,attr"`
+ SourceLinked bool `xml:"sourceLinked,attr"`
+}
+
+// cSer directly maps the c:ser element. This element specifies a series on a
+// chart.
+type cSer struct {
+ IDx *attrValInt `xml:"c:idx"`
+ Order *attrValInt `xml:"c:order"`
+ Tx *cTx `xml:"c:tx"`
+ SpPr *cSpPr `xml:"c:spPr"`
+ DPt []*cDPt `xml:"c:dPt"`
+ DLbls *cDLbls `xml:"c:dLbls"`
+ Marker *cMarker `xml:"c:marker"`
+ InvertIfNegative *attrValBool `xml:"c:invertIfNegative"`
+ Cat *cCat `xml:"c:cat"`
+ Val *cVal `xml:"c:val"`
+ XVal *cCat `xml:"c:xVal"`
+ YVal *cVal `xml:"c:yVal"`
+ Smooth *attrValBool `xml:"c:smooth"`
+}
+
+// cMarker (Marker) directly maps the c:marker element. This element specifies a
+// data marker.
+type cMarker struct {
+ Symbol *attrValString `xml:"c:symbol"`
+ Size *attrValInt `xml:"c:size"`
+ SpPr *cSpPr `xml:"c:spPr"`
+}
+
+// cDPt (Data Point) directly maps the c:dPt element. This element specifies a
+// single data point.
+type cDPt struct {
+ IDx *attrValInt `xml:"c:idx"`
+ Bubble3D *attrValBool `xml:"c:bubble3D"`
+ SpPr *cSpPr `xml:"c:spPr"`
+}
+
+// cCat (Category Axis Data) directly maps the c:cat element. This element
+// specifies the data used for the category axis.
+type cCat struct {
+ StrRef *cStrRef `xml:"c:strRef"`
+}
+
+// cStrRef (String Reference) directly maps the c:strRef element. This element
+// specifies a reference to data for a single data label or title with a cache
+// of the last values used.
+type cStrRef struct {
+ F string `xml:"c:f"`
+ StrCache *cStrCache `xml:"c:strCache"`
+}
+
+// cStrCache (String Cache) directly maps the c:strCache element. This element
+// specifies the last string data used for a chart.
+type cStrCache struct {
+ Pt []*cPt `xml:"c:pt"`
+ PtCount *attrValInt `xml:"c:ptCount"`
+}
+
+// cPt directly maps the c:pt element. This element specifies data for a
+// particular data point.
+type cPt struct {
+ IDx int `xml:"idx,attr"`
+ V *string `xml:"c:v"`
+}
+
+// cVal directly maps the c:val element. This element specifies the data values
+// which shall be used to define the location of data markers on a chart.
+type cVal struct {
+ NumRef *cNumRef `xml:"c:numRef"`
+}
+
+// cNumRef directly maps the c:numRef element. This element specifies a
+// reference to numeric data with a cache of the last values used.
+type cNumRef struct {
+ F string `xml:"c:f"`
+ NumCache *cNumCache `xml:"c:numCache"`
+}
+
+// cNumCache directly maps the c:numCache element. This element specifies the
+// last data shown on the chart for a series.
+type cNumCache struct {
+ FormatCode string `xml:"c:formatCode"`
+ Pt []*cPt `xml:"c:pt"`
+ PtCount *attrValInt `xml:"c:ptCount"`
+}
+
+// cDLbls (Data Lables) directly maps the c:dLbls element. This element serves
+// as a root element that specifies the settings for the data labels for an
+// entire series or the entire chart. It contains child elements that specify
+// the specific formatting and positioning settings.
+type cDLbls struct {
+ ShowLegendKey *attrValBool `xml:"c:showLegendKey"`
+ ShowVal *attrValBool `xml:"c:showVal"`
+ ShowCatName *attrValBool `xml:"c:showCatName"`
+ ShowSerName *attrValBool `xml:"c:showSerName"`
+ ShowPercent *attrValBool `xml:"c:showPercent"`
+ ShowBubbleSize *attrValBool `xml:"c:showBubbleSize"`
+ ShowLeaderLines *attrValBool `xml:"c:showLeaderLines"`
+}
+
+// cLegend (Legend) directly maps the c:legend element. This element specifies
+// the legend.
+type cLegend struct {
+ Layout *string `xml:"c:layout"`
+ LegendPos *attrValString `xml:"c:legendPos"`
+ Overlay *attrValBool `xml:"c:overlay"`
+ SpPr *cSpPr `xml:"c:spPr"`
+ TxPr *cTxPr `xml:"c:txPr"`
+}
+
+// cPrintSettings directly maps the c:printSettings element. This element
+// specifies the print settings for the chart.
+type cPrintSettings struct {
+ HeaderFooter *string `xml:"c:headerFooter"`
+ PageMargins *cPageMargins `xml:"c:pageMargins"`
+ PageSetup *string `xml:"c:pageSetup"`
+}
+
+// cPageMargins directly maps the c:pageMargins element. This element specifies
+// the page margins for a chart.
+type cPageMargins struct {
+ B float64 `xml:"b,attr"`
+ Footer float64 `xml:"footer,attr"`
+ Header float64 `xml:"header,attr"`
+ L float64 `xml:"l,attr"`
+ R float64 `xml:"r,attr"`
+ T float64 `xml:"t,attr"`
+}
+
+// formatChart directly maps the format settings of the chart.
+type formatChart struct {
+ Type string `json:"type"`
+ Series []formatChartSeries `json:"series"`
+ Format formatPicture `json:"format"`
+ Legend formatChartLegend `json:"legend"`
+ Title formatChartTitle `json:"title"`
+ XAxis struct {
+ Crossing string `json:"crossing"`
+ MajorTickMark string `json:"major_tick_mark"`
+ MinorTickMark string `json:"minor_tick_mark"`
+ MinorUnitType string `json:"minor_unit_type"`
+ MajorUnit int `json:"major_unit"`
+ MajorUnitType string `json:"major_unit_type"`
+ DisplayUnits string `json:"display_units"`
+ DisplayUnitsVisible bool `json:"display_units_visible"`
+ DateAxis bool `json:"date_axis"`
+ NumFormat string `json:"num_format"`
+ NumFont struct {
+ Color string `json:"color"`
+ Bold bool `json:"bold"`
+ Italic bool `json:"italic"`
+ Underline bool `json:"underline"`
+ } `json:"num_font"`
+ NameLayout struct {
+ X float64 `json:"x"`
+ Y float64 `json:"y"`
+ } `json:"name_layout"`
+ } `json:"x_axis"`
+ YAxis struct {
+ Crossing string `json:"crossing"`
+ MajorTickMark string `json:"major_tick_mark"`
+ MinorTickMark string `json:"minor_tick_mark"`
+ MinorUnitType string `json:"minor_unit_type"`
+ MajorUnit int `json:"major_unit"`
+ MajorUnitType string `json:"major_unit_type"`
+ DisplayUnits string `json:"display_units"`
+ DisplayUnitsVisible bool `json:"display_units_visible"`
+ DateAxis bool `json:"date_axis"`
+ NumFormat string `json:"num_format"`
+ NumFont struct {
+ Color string `json:"color"`
+ Bold bool `json:"bold"`
+ Italic bool `json:"italic"`
+ Underline bool `json:"underline"`
+ } `json:"num_font"`
+ NameLayout struct {
+ X float64 `json:"x"`
+ Y float64 `json:"y"`
+ } `json:"name_layout"`
+ } `json:"y_axis"`
+ Chartarea struct {
+ Border struct {
+ None bool `json:"none"`
+ } `json:"border"`
+ Fill struct {
+ Color string `json:"color"`
+ } `json:"fill"`
+ Pattern struct {
+ Pattern string `json:"pattern"`
+ FgColor string `json:"fg_color"`
+ BgColor string `json:"bg_color"`
+ } `json:"pattern"`
+ } `json:"chartarea"`
+ Plotarea struct {
+ ShowBubbleSize bool `json:"show_bubble_size"`
+ ShowCatName bool `json:"show_cat_name"`
+ ShowLeaderLines bool `json:"show_leader_lines"`
+ ShowPercent bool `json:"show_percent"`
+ ShowSerName bool `json:"show_series_name"`
+ ShowVal bool `json:"show_val"`
+ Gradient struct {
+ Colors []string `json:"colors"`
+ } `json:"gradient"`
+ Border struct {
+ Color string `json:"color"`
+ Width int `json:"width"`
+ DashType string `json:"dash_type"`
+ } `json:"border"`
+ Fill struct {
+ Color string `json:"color"`
+ } `json:"fill"`
+ Layout struct {
+ X float64 `json:"x"`
+ Y float64 `json:"y"`
+ Width float64 `json:"width"`
+ Height float64 `json:"height"`
+ } `json:"layout"`
+ } `json:"plotarea"`
+ ShowBlanksAs string `json:"show_blanks_as"`
+ ShowHiddenData bool `json:"show_hidden_data"`
+ SetRotation int `json:"set_rotation"`
+ SetHoleSize int `json:"set_hole_size"`
+}
+
+// formatChartLegend directly maps the format settings of the chart legend.
+type formatChartLegend struct {
+ None bool `json:"none"`
+ DeleteSeries []int `json:"delete_series"`
+ Font struct {
+ Size int `json:"size"`
+ Blod bool `json:"blod"`
+ Italic bool `json:"italic"`
+ } `json:"font"`
+ Layout struct {
+ X float64 `json:"x"`
+ Y float64 `json:"y"`
+ Width float64 `json:"width"`
+ Height float64 `json:"height"`
+ } `json:"layout"`
+ Position string `json:"position"`
+ ShowLegendEntry bool `json:"show_legend_entry"`
+ ShowLegendKey bool `json:"show_legend_key"`
+}
+
+// formatChartSeries directly maps the format settings of the chart series.
+type formatChartSeries struct {
+ Name string `json:"name"`
+ Categories string `json:"categories"`
+ Values string `json:"values"`
+ Line struct {
+ None bool `json:"none"`
+ Color string `json:"color"`
+ } `json:"line"`
+ Marker struct {
+ Type string `json:"type"`
+ Size int `json:"size,"`
+ Width float64 `json:"width"`
+ Border struct {
+ Color string `json:"color"`
+ None bool `json:"none"`
+ } `json:"border"`
+ Fill struct {
+ Color string `json:"color"`
+ None bool `json:"none"`
+ } `json:"fill"`
+ } `json:"marker"`
+}
+
+// formatChartTitle directly maps the format settings of the chart title.
+type formatChartTitle struct {
+ None bool `json:"none"`
+ Name string `json:"name"`
+ Overlay bool `json:"overlay"`
+ Layout struct {
+ X float64 `json:"x"`
+ Y float64 `json:"y"`
+ Width float64 `json:"width"`
+ Height float64 `json:"height"`
+ } `json:"layout"`
+}