123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656 |
- // Copyright 2016 - 2021 The excelize Authors. All rights reserved. Use of
- // this source code is governed by a BSD-style license that can be found in
- // the LICENSE file.
- //
- // Package excelize providing a set of functions that allow you to write to
- // and read from XLSX / XLSM / XLTM files. Supports reading and writing
- // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
- // complex components by high compatibility, and provided streaming API for
- // generating or reading data from a worksheet with huge amounts of data. This
- // library needs Go version 1.15 or later.
- package excelize
- import "encoding/xml"
- // xlsxChartSpace directly maps the 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 xlsxChartSpace struct {
- XMLName xml.Name `xml:"http://schemas.openxmlformats.org/drawingml/2006/chart chartSpace"`
- XMLNSa string `xml:"xmlns:a,attr"`
- Date1904 *attrValBool `xml:"date1904"`
- Lang *attrValString `xml:"lang"`
- RoundedCorners *attrValBool `xml:"roundedCorners"`
- Chart cChart `xml:"chart"`
- SpPr *cSpPr `xml:"spPr"`
- TxPr *cTxPr `xml:"txPr"`
- PrintSettings *cPrintSettings `xml:"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:"thickness"`
- SpPr *cSpPr `xml:"spPr"`
- }
- // cChart (Chart) directly maps the chart element. This element specifies a
- // title.
- type cChart struct {
- Title *cTitle `xml:"title"`
- AutoTitleDeleted *cAutoTitleDeleted `xml:"autoTitleDeleted"`
- View3D *cView3D `xml:"view3D"`
- Floor *cThicknessSpPr `xml:"floor"`
- SideWall *cThicknessSpPr `xml:"sideWall"`
- BackWall *cThicknessSpPr `xml:"backWall"`
- PlotArea *cPlotArea `xml:"plotArea"`
- Legend *cLegend `xml:"legend"`
- PlotVisOnly *attrValBool `xml:"plotVisOnly"`
- DispBlanksAs *attrValString `xml:"dispBlanksAs"`
- ShowDLblsOverMax *attrValBool `xml:"showDLblsOverMax"`
- }
- // cTitle (Title) directly maps the title element. This element specifies a
- // title.
- type cTitle struct {
- Tx cTx `xml:"tx,omitempty"`
- Layout string `xml:"layout,omitempty"`
- Overlay *attrValBool `xml:"overlay"`
- SpPr cSpPr `xml:"spPr,omitempty"`
- TxPr cTxPr `xml:"txPr,omitempty"`
- }
- // cTx (Chart Text) directly maps the tx element. This element specifies text
- // to use on a chart, including rich text formatting.
- type cTx struct {
- StrRef *cStrRef `xml:"strRef"`
- Rich *cRich `xml:"rich,omitempty"`
- }
- // cRich (Rich Text) directly maps the 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 aRPr `xml:"a:defRPr"`
- }
- // 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"`
- SrgbClr *attrValString `xml:"a:srgbClr"`
- }
- // 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"`
- }
- // attrValFloat directly maps the val element with float64 data type as an
- // attribute.
- type attrValFloat struct {
- Val *float64 `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 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 {
- 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 float64 `xml:"sz,attr,omitempty"`
- 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"`
- }
- // cSpPr (Shape Properties) directly maps the 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 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"`
- AltLang string `xml:"altLang,attr,omitempty"`
- Sz int `xml:"sz,attr,omitempty"`
- }
- // cAutoTitleDeleted (Auto Title Is Deleted) directly maps the
- // 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 view3D element. This element
- // specifies the 3-D view of the chart.
- type cView3D struct {
- RotX *attrValInt `xml:"rotX"`
- RotY *attrValInt `xml:"rotY"`
- RAngAx *attrValInt `xml:"rAngAx"`
- DepthPercent *attrValInt `xml:"depthPercent"`
- Perspective *attrValInt `xml:"perspective"`
- ExtLst *xlsxExtLst `xml:"extLst"`
- }
- // cPlotArea directly maps the plotArea element. This element specifies the
- // plot area of the chart.
- type cPlotArea struct {
- Layout *string `xml:"layout"`
- AreaChart *cCharts `xml:"areaChart"`
- Area3DChart *cCharts `xml:"area3DChart"`
- BarChart *cCharts `xml:"barChart"`
- Bar3DChart *cCharts `xml:"bar3DChart"`
- BubbleChart *cCharts `xml:"bubbleChart"`
- DoughnutChart *cCharts `xml:"doughnutChart"`
- LineChart *cCharts `xml:"lineChart"`
- PieChart *cCharts `xml:"pieChart"`
- Pie3DChart *cCharts `xml:"pie3DChart"`
- OfPieChart *cCharts `xml:"ofPieChart"`
- RadarChart *cCharts `xml:"radarChart"`
- ScatterChart *cCharts `xml:"scatterChart"`
- Surface3DChart *cCharts `xml:"surface3DChart"`
- SurfaceChart *cCharts `xml:"surfaceChart"`
- CatAx []*cAxs `xml:"catAx"`
- ValAx []*cAxs `xml:"valAx"`
- SerAx []*cAxs `xml:"serAx"`
- SpPr *cSpPr `xml:"spPr"`
- }
- // cCharts specifies the common element of the chart.
- type cCharts struct {
- BarDir *attrValString `xml:"barDir"`
- BubbleScale *attrValFloat `xml:"bubbleScale"`
- Grouping *attrValString `xml:"grouping"`
- RadarStyle *attrValString `xml:"radarStyle"`
- ScatterStyle *attrValString `xml:"scatterStyle"`
- OfPieType *attrValString `xml:"ofPieType"`
- VaryColors *attrValBool `xml:"varyColors"`
- Wireframe *attrValBool `xml:"wireframe"`
- Ser *[]cSer `xml:"ser"`
- SerLines *attrValString `xml:"serLines"`
- DLbls *cDLbls `xml:"dLbls"`
- Shape *attrValString `xml:"shape"`
- HoleSize *attrValInt `xml:"holeSize"`
- Smooth *attrValBool `xml:"smooth"`
- Overlap *attrValInt `xml:"overlap"`
- AxID []*attrValInt `xml:"axId"`
- }
- // cAxs directly maps the catAx and valAx element.
- type cAxs struct {
- AxID *attrValInt `xml:"axId"`
- Scaling *cScaling `xml:"scaling"`
- Delete *attrValBool `xml:"delete"`
- AxPos *attrValString `xml:"axPos"`
- MajorGridlines *cChartLines `xml:"majorGridlines"`
- MinorGridlines *cChartLines `xml:"minorGridlines"`
- NumFmt *cNumFmt `xml:"numFmt"`
- MajorTickMark *attrValString `xml:"majorTickMark"`
- MinorTickMark *attrValString `xml:"minorTickMark"`
- TickLblPos *attrValString `xml:"tickLblPos"`
- SpPr *cSpPr `xml:"spPr"`
- TxPr *cTxPr `xml:"txPr"`
- CrossAx *attrValInt `xml:"crossAx"`
- Crosses *attrValString `xml:"crosses"`
- CrossBetween *attrValString `xml:"crossBetween"`
- MajorUnit *attrValFloat `xml:"majorUnit"`
- MinorUnit *attrValFloat `xml:"minorUnit"`
- Auto *attrValBool `xml:"auto"`
- LblAlgn *attrValString `xml:"lblAlgn"`
- LblOffset *attrValInt `xml:"lblOffset"`
- TickLblSkip *attrValInt `xml:"tickLblSkip"`
- TickMarkSkip *attrValInt `xml:"tickMarkSkip"`
- NoMultiLvlLbl *attrValBool `xml:"noMultiLvlLbl"`
- }
- // cChartLines directly maps the chart lines content model.
- type cChartLines struct {
- SpPr *cSpPr `xml:"spPr"`
- }
- // cScaling directly maps the scaling element. This element contains
- // additional axis settings.
- type cScaling struct {
- LogBase *attrValFloat `xml:"logBase"`
- Orientation *attrValString `xml:"orientation"`
- Max *attrValFloat `xml:"max"`
- Min *attrValFloat `xml:"min"`
- }
- // cNumFmt (Numbering Format) directly maps the 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 ser element. This element specifies a series on a
- // chart.
- type cSer struct {
- IDx *attrValInt `xml:"idx"`
- Order *attrValInt `xml:"order"`
- Tx *cTx `xml:"tx"`
- SpPr *cSpPr `xml:"spPr"`
- DPt []*cDPt `xml:"dPt"`
- DLbls *cDLbls `xml:"dLbls"`
- Marker *cMarker `xml:"marker"`
- InvertIfNegative *attrValBool `xml:"invertIfNegative"`
- Cat *cCat `xml:"cat"`
- Val *cVal `xml:"val"`
- XVal *cCat `xml:"xVal"`
- YVal *cVal `xml:"yVal"`
- Smooth *attrValBool `xml:"smooth"`
- BubbleSize *cVal `xml:"bubbleSize"`
- Bubble3D *attrValBool `xml:"bubble3D"`
- }
- // cMarker (Marker) directly maps the marker element. This element specifies a
- // data marker.
- type cMarker struct {
- Symbol *attrValString `xml:"symbol"`
- Size *attrValInt `xml:"size"`
- SpPr *cSpPr `xml:"spPr"`
- }
- // cDPt (Data Point) directly maps the dPt element. This element specifies a
- // single data point.
- type cDPt struct {
- IDx *attrValInt `xml:"idx"`
- Bubble3D *attrValBool `xml:"bubble3D"`
- SpPr *cSpPr `xml:"spPr"`
- }
- // cCat (Category Axis Data) directly maps the cat element. This element
- // specifies the data used for the category axis.
- type cCat struct {
- StrRef *cStrRef `xml:"strRef"`
- }
- // cStrRef (String Reference) directly maps the 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:"f"`
- StrCache *cStrCache `xml:"strCache"`
- }
- // cStrCache (String Cache) directly maps the strCache element. This element
- // specifies the last string data used for a chart.
- type cStrCache struct {
- Pt []*cPt `xml:"pt"`
- PtCount *attrValInt `xml:"ptCount"`
- }
- // cPt directly maps the pt element. This element specifies data for a
- // particular data point.
- type cPt struct {
- IDx int `xml:"idx,attr"`
- V *string `xml:"v"`
- }
- // cVal directly maps the 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:"numRef"`
- }
- // cNumRef directly maps the numRef element. This element specifies a
- // reference to numeric data with a cache of the last values used.
- type cNumRef struct {
- F string `xml:"f"`
- NumCache *cNumCache `xml:"numCache"`
- }
- // cNumCache directly maps the numCache element. This element specifies the
- // last data shown on the chart for a series.
- type cNumCache struct {
- FormatCode string `xml:"formatCode"`
- Pt []*cPt `xml:"pt"`
- PtCount *attrValInt `xml:"ptCount"`
- }
- // cDLbls (Data Lables) directly maps the 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:"showLegendKey"`
- ShowVal *attrValBool `xml:"showVal"`
- ShowCatName *attrValBool `xml:"showCatName"`
- ShowSerName *attrValBool `xml:"showSerName"`
- ShowPercent *attrValBool `xml:"showPercent"`
- ShowBubbleSize *attrValBool `xml:"showBubbleSize"`
- ShowLeaderLines *attrValBool `xml:"showLeaderLines"`
- }
- // cLegend (Legend) directly maps the legend element. This element specifies
- // the legend.
- type cLegend struct {
- Layout *string `xml:"layout"`
- LegendPos *attrValString `xml:"legendPos"`
- Overlay *attrValBool `xml:"overlay"`
- SpPr *cSpPr `xml:"spPr"`
- TxPr *cTxPr `xml:"txPr"`
- }
- // cPrintSettings directly maps the printSettings element. This element
- // specifies the print settings for the chart.
- type cPrintSettings struct {
- HeaderFooter *string `xml:"headerFooter"`
- PageMargins *cPageMargins `xml:"pageMargins"`
- PageSetup *string `xml:"pageSetup"`
- }
- // cPageMargins directly maps the 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"`
- }
- // formatChartAxis directly maps the format settings of the chart axis.
- type formatChartAxis struct {
- None bool `json:"none"`
- Crossing string `json:"crossing"`
- MajorGridlines bool `json:"major_grid_lines"`
- MinorGridlines bool `json:"minor_grid_lines"`
- MajorTickMark string `json:"major_tick_mark"`
- MinorTickMark string `json:"minor_tick_mark"`
- MinorUnitType string `json:"minor_unit_type"`
- MajorUnit float64 `json:"major_unit"`
- MajorUnitType string `json:"major_unit_type"`
- TickLabelSkip int `json:"tick_label_skip"`
- DisplayUnits string `json:"display_units"`
- DisplayUnitsVisible bool `json:"display_units_visible"`
- DateAxis bool `json:"date_axis"`
- ReverseOrder bool `json:"reverse_order"`
- Maximum float64 `json:"maximum"`
- Minimum float64 `json:"minimum"`
- 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"`
- LogBase float64 `json:"logbase"`
- NameLayout formatLayout `json:"name_layout"`
- }
- type formatChartDimension struct {
- Width int `json:"width"`
- Height int `json:"height"`
- }
- // formatChart directly maps the format settings of the chart.
- type formatChart struct {
- Type string `json:"type"`
- Series []formatChartSeries `json:"series"`
- Format formatPicture `json:"format"`
- Dimension formatChartDimension `json:"dimension"`
- Legend formatChartLegend `json:"legend"`
- Title formatChartTitle `json:"title"`
- VaryColors bool `json:"vary_colors"`
- XAxis formatChartAxis `json:"x_axis"`
- YAxis formatChartAxis `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 formatLayout `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"`
- order int
- }
- // formatChartLegend directly maps the format settings of the chart legend.
- type formatChartLegend struct {
- None bool `json:"none"`
- DeleteSeries []int `json:"delete_series"`
- Font Font `json:"font"`
- Layout formatLayout `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"`
- Width float64 `json:"width"`
- } `json:"line"`
- Marker struct {
- Symbol string `json:"symbol"`
- 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 formatLayout `json:"layout"`
- }
- // formatLayout directly maps the format settings of the element layout.
- type formatLayout struct {
- X float64 `json:"x"`
- Y float64 `json:"y"`
- Width float64 `json:"width"`
- Height float64 `json:"height"`
- }
|