diff --git a/_examples/mbarchart.go b/_examples/mbarchart.go deleted file mode 100644 index 63ed11e..0000000 --- a/_examples/mbarchart.go +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2017 Zack Guo . All rights reserved. -// Use of this source code is governed by a MIT license that can -// be found in the LICENSE file. - -// +build ignore - -package main - -import ui "github.com/gizak/termui" - -func main() { - err := ui.Init() - if err != nil { - panic(err) - } - defer ui.Close() - - bc := ui.NewMBarChart() - math := []int{90, 85, 90, 80} - english := []int{70, 85, 75, 60} - science := []int{75, 60, 80, 85} - compsci := []int{100, 100, 100, 100} - bc.Data[0] = math - bc.Data[1] = english - bc.Data[2] = science - bc.Data[3] = compsci - studentsName := []string{"Ken", "Rob", "Dennis", "Linus"} - bc.BorderLabel = "Student's Marks X-Axis=Name Y-Axis=Marks[Math,English,Science,ComputerScience] in %" - bc.Width = 100 - bc.Height = 30 - bc.Y = 0 - bc.BarWidth = 10 - bc.DataLabels = studentsName - bc.ShowScale = true //Show y_axis scale value (min and max) - bc.SetMax(400) - - bc.TextColor = ui.ColorGreen //this is color for label (x-axis) - bc.BarColor[3] = ui.ColorGreen //BarColor for computerscience - bc.BarColor[1] = ui.ColorYellow //Bar Color for english - bc.NumColor[3] = ui.ColorRed // Num color for computerscience - bc.NumColor[1] = ui.ColorRed // num color for english - - //Other colors are automatically populated, btw All the students seems do well in computerscience. :p - - ui.Render(bc) - - for { - e := <-ui.PollEvent() - switch e.ID { - case "q", "": - return - } - } -} diff --git a/_examples/stackedbarchart.go b/_examples/stackedbarchart.go new file mode 100644 index 0000000..92ab439 --- /dev/null +++ b/_examples/stackedbarchart.go @@ -0,0 +1,54 @@ +// Copyright 2017 Zack Guo . All rights reserved. +// Use of this source code is governed by a MIT license that can +// be found in the LICENSE file. + +// +build ignore + +package main + +import ui "github.com/gizak/termui" + +func main() { + err := ui.Init() + if err != nil { + panic(err) + } + defer ui.Close() + + sbc := ui.NewStackedBarChart() + math := []int{90, 85, 90, 80} + english := []int{70, 85, 75, 60} + science := []int{75, 60, 80, 85} + compsci := []int{100, 100, 100, 100} + sbc.Data[0] = math + sbc.Data[1] = english + sbc.Data[2] = science + sbc.Data[3] = compsci + studentsName := []string{"Ken", "Rob", "Dennis", "Linus"} + sbc.BorderLabel = "Student's Marks X-Axis=Name Y-Axis=Marks[Math,English,Science,ComputerScience] in %" + sbc.Width = 100 + sbc.Height = 30 + sbc.Y = 0 + sbc.BarWidth = 10 + sbc.DataLabels = studentsName + sbc.ShowScale = true //Show y_axis scale value (min and max) + sbc.SetMax(400) + + sbc.TextColor = ui.ColorGreen //this is color for label (x-axis) + sbc.BarColor[3] = ui.ColorGreen //BarColor for computerscience + sbc.BarColor[1] = ui.ColorYellow //Bar Color for english + sbc.NumColor[3] = ui.ColorRed // Num color for computerscience + sbc.NumColor[1] = ui.ColorRed // num color for english + + //Other colors are automatically populated, btw All the students seems do well in computerscience. :p + + ui.Render(sbc) + + for { + e := <-ui.PollEvent() + switch e.ID { + case "q", "": + return + } + } +} diff --git a/_examples/mbarchart.png b/_examples/stackedbarchart.png similarity index 100% rename from _examples/mbarchart.png rename to _examples/stackedbarchart.png diff --git a/mbarchart.go b/stackedbarchart.go similarity index 94% rename from mbarchart.go rename to stackedbarchart.go index a9df9cf..e8762ea 100644 --- a/mbarchart.go +++ b/stackedbarchart.go @@ -11,7 +11,7 @@ import ( // This is the implementation of multi-colored or stacked bar graph. This is different from default barGraph which is implemented in bar.go // Multi-Colored-BarChart creates multiple bars in a widget: /* - bc := termui.NewMBarChart() + bc := termui.NewStackedBarChart() data := make([][]int, 2) data[0] := []int{3, 2, 5, 7, 9, 4} data[1] := []int{7, 8, 5, 3, 1, 6} @@ -25,7 +25,7 @@ import ( bc.BarColor = termui.ColorRed bc.NumColor = termui.ColorYellow */ -type MBarChart struct { +type StackedBarChart struct { Block BarColor [NumberofColors]Attribute TextColor Attribute @@ -46,9 +46,9 @@ type MBarChart struct { maxScale []rune } -// NewMBarChart returns a new *MBarChart with current theme. -func NewMBarChart() *MBarChart { - mbc := &MBarChart{ +// NewStackedBarChart returns a new *StackedBarChart with current theme. +func NewStackedBarChart() *StackedBarChart { + mbc := &StackedBarChart{ Block: *NewBlock(), TextColor: ThemeAttr("mbarchart.text.fg"), NumFmt: func(n int) string { return fmt.Sprint(n) }, @@ -60,7 +60,7 @@ func NewMBarChart() *MBarChart { return mbc } -func (bc *MBarChart) layout() { +func (bc *StackedBarChart) layout() { bc.numBar = bc.innerArea.Dx() / (bc.BarGap + bc.BarWidth) bc.labels = make([][]rune, bc.numBar) DataLen := 0 @@ -140,14 +140,14 @@ func (bc *MBarChart) layout() { } -func (bc *MBarChart) SetMax(max int) { +func (bc *StackedBarChart) SetMax(max int) { if max > 0 { bc.max = max } } // Buffer implements Bufferer interface. -func (bc *MBarChart) Buffer() Buffer { +func (bc *StackedBarChart) Buffer() Buffer { buf := bc.Block.Buffer() bc.layout()