Rename mbarchart to stackedbarchart
This commit is contained in:
parent
7f3648562a
commit
bcaa487074
@ -1,54 +0,0 @@
|
||||
// Copyright 2017 Zack Guo <zack.y.guo@gmail.com>. 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", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
54
_examples/stackedbarchart.go
Normal file
54
_examples/stackedbarchart.go
Normal file
@ -0,0 +1,54 @@
|
||||
// Copyright 2017 Zack Guo <zack.y.guo@gmail.com>. 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", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
@ -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()
|
Loading…
Reference in New Issue
Block a user