Add Unit to XAxis as a publicly visible parameter
In some cases the XAxis may have a single long title. This can result in very few increments being shown. In order to be more flexible for those cases this allows the XAxis Tick frequency to be able to be directly controlled.
This commit is contained in:
parent
c810369730
commit
a158191faf
2 changed files with 4 additions and 2 deletions
1
axis.go
1
axis.go
|
|
@ -176,7 +176,6 @@ func (a *axisPainter) Render() (Box, error) {
|
|||
|
||||
unit := opt.Unit
|
||||
if unit <= 0 {
|
||||
|
||||
unit = ceilFloatToInt(float64(dataCount) / float64(fitTextCount))
|
||||
unit = chart.MaxInt(unit, opt.SplitNumber)
|
||||
// 偶数
|
||||
|
|
|
|||
5
xaxis.go
5
xaxis.go
|
|
@ -40,7 +40,7 @@ type XAxisOption struct {
|
|||
FontSize float64
|
||||
// The flag for show axis, set this to *false will hide axis
|
||||
Show *bool
|
||||
// Number of segments that the axis is split into. Note that this number serves only as a recommendation.
|
||||
// Number of segments that the axis is split into. Note that this number serves only as a recommendation to avoid writing overlap.
|
||||
SplitNumber int
|
||||
// The position of axis, it can be 'top' or 'bottom'
|
||||
Position string
|
||||
|
|
@ -55,6 +55,8 @@ type XAxisOption struct {
|
|||
// The offset of label
|
||||
LabelOffset Box
|
||||
isValueAxis bool
|
||||
// This value overrides SplitNumber, specifying directly the frequency at which the axis is split into, higher numbers result in less ticks
|
||||
Unit int
|
||||
}
|
||||
|
||||
const defaultXAxisHeight = 30
|
||||
|
|
@ -90,6 +92,7 @@ func (opt *XAxisOption) ToAxisOption() AxisOption {
|
|||
TextRotation: opt.TextRotation,
|
||||
LabelOffset: opt.LabelOffset,
|
||||
FirstAxis: opt.FirstAxis,
|
||||
Unit: opt.Unit,
|
||||
}
|
||||
if opt.isValueAxis {
|
||||
axisOpt.SplitLineShow = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue