本文整理汇总了Golang中github.com/gizak/termui.Sparkline类的典型用法代码示例。如果您正苦于以下问题:Golang Sparkline类的具体用法?Golang Sparkline怎么用?Golang Sparkline使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Sparkline类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: draw
func draw() {
display = ui.NewPar("")
display.Height = 1
display.Border = false
prompt = ui.NewPar(promptMsg)
prompt.Height = 1
prompt.Border = false
help := ui.NewPar(`:c, :h for profiles; :f to filter; ↓ and ↑ to paginate`)
help.Height = 1
help.Border = false
help.TextBgColor = ui.ColorBlue
help.Bg = ui.ColorBlue
help.TextFgColor = ui.ColorWhite
gs := ui.Sparkline{}
gs.Title = "goroutines"
gs.Height = 4
gs.LineColor = ui.ColorCyan
ts := ui.Sparkline{}
ts.Title = "threads"
ts.Height = 4
ts.LineColor = ui.ColorCyan
sp = ui.NewSparklines(gs, ts)
sp.Height = 10
sp.Border = false
ls = ui.NewList()
ls.Border = false
ui.Body.AddRows(
ui.NewRow(ui.NewCol(4, 0, prompt), ui.NewCol(8, 0, help)),
ui.NewRow(ui.NewCol(12, 0, sp)),
ui.NewRow(ui.NewCol(12, 0, display)),
ui.NewRow(ui.NewCol(12, 0, ls)),
)
}
开发者ID:ZhiqinYang,项目名称:gom,代码行数:39,代码来源:gom.go
示例2: main
func main() {
err := ui.Init()
if err != nil {
panic(err)
}
defer ui.Close()
sinps := (func() []float64 {
n := 400
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
sinpsint := (func() []int {
ps := make([]int, len(sinps))
for i, v := range sinps {
ps[i] = int(100*v + 10)
}
return ps
})()
// ui.UseTheme("helloworld")
spark := ui.Sparkline{}
spark.Height = 8
spdata := sinpsint
spark.Data = spdata[:100]
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
sp := ui.NewSparklines(spark)
sp.Height = 11
sp.Border.Label = "Sparkline"
lc := ui.NewLineChart()
lc.Border.Label = "braille-mode Line Chart"
lc.Data = sinps
lc.Height = 11
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorYellow | ui.AttrBold
gs := make([]*ui.Gauge, 3)
for i := range gs {
gs[i] = ui.NewGauge()
gs[i].Height = 2
gs[i].HasBorder = false
gs[i].Percent = i * 10
gs[i].PaddingBottom = 1
gs[i].BarColor = ui.ColorRed
}
ls := ui.NewList()
ls.HasBorder = false
ls.Items = []string{
"[1] Downloading File 1",
"", // == \newline
"[2] Downloading File 2",
"",
"[3] Uploading File 3",
}
ls.Height = 5
par := ui.NewPar("<> This row has 3 columns\n<- Widgets can be stacked up like left side\n<- Stacked widgets are treated as a single widget")
par.Height = 5
par.Border.Label = "Demonstration"
// build layout
ui.Body.AddRows(
ui.NewRow(
ui.NewCol(6, 0, sp),
ui.NewCol(6, 0, lc)),
ui.NewRow(
ui.NewCol(3, 0, ls),
ui.NewCol(3, 0, gs[0], gs[1], gs[2]),
ui.NewCol(6, 0, par)))
// calculate layout
ui.Body.Align()
done := make(chan bool)
redraw := make(chan bool)
/*
update := func() {
for i := 0; i < 103; i++ {
for _, g := range gs {
g.Percent = (g.Percent + 3) % 100
}
sp.Lines[0].Data = spdata[:100+i]
lc.Data = sinps[2*i:]
time.Sleep(time.Second / 2)
redraw <- true
}
done <- true
}
*/
//.........这里部分代码省略.........
开发者ID:arscan,项目名称:gosf,代码行数:101,代码来源:main.go
示例3: main
func main() {
configFile := flag.String("config", "config.json", "Configuration file")
flag.Parse()
monitors := readConfig(*configFile)
updates := make(chan monitor.CheckUpdate)
logbuf := new(bytes.Buffer)
log.SetOutput(logbuf)
err := termui.Init()
if err != nil {
log.Fatalf("Unable to init termui: %v\n", err)
}
defer termui.Close()
list := termui.NewList()
var urls []string
for _, m := range monitors {
e := fmt.Sprintf("[%v] %v", m.index, m.monitor.Source())
urls = append(urls, e)
if list.Width < int(float64(len(e))*float64(1.5)) {
list.Width = int(float64(len(e)) * float64(1.5))
}
}
list.Items = urls
list.ItemFgColor = termui.ColorYellow
list.BorderLabel = "URLs"
list.Height = 8
list.Y = 0
list.X = 0
sp := termui.NewSparklines()
sp.BorderLabel = "Response times"
sp.Y = list.Height
sp.X = 0
sp.Height = list.Height
for i, _ := range urls {
spark := termui.Sparkline{}
spark.Height = 1
spark.Title = fmt.Sprintf("URL %v", i)
spark.LineColor = termui.ColorCyan
spark.TitleColor = termui.ColorYellow
sp.Add(spark)
}
logPar := termui.NewPar(logbuf.String())
logPar.Height = 20
termui.Body.AddRows(
termui.NewRow(
termui.NewCol(6, 0, list),
termui.NewCol(6, 0, sp)),
termui.NewRow(
termui.NewCol(12, 0, logPar)))
termui.Body.Align()
for _, m := range monitors {
go m.monitor.Check(updates, m.index)
}
loop:
for {
select {
case u := <-updates:
if u.Healthy && u.Err == nil {
sp.Lines[u.Id].LineColor = COLOR_OK
} else {
sp.Lines[u.Id].LineColor = COLOR_KO
}
case <-time.After(2 * time.Second):
break loop
}
}
termui.Render(termui.Body)
termui.Handle("/sys/kbd/q", func(termui.Event) {
termui.StopLoop()
})
termui.Handle("/timer/1s", func(e termui.Event) {
t := e.Data.(termui.EvtTimer)
if t.Count%5 == 0 {
for _, m := range monitors {
go m.monitor.Check(updates, m.index)
}
loop:
for {
select {
case u := <-updates:
sp.Lines[u.Id].Data = append(sp.Lines[u.Id].Data, int(u.Duration))
if u.Healthy && u.Err == nil {
sp.Lines[u.Id].LineColor = COLOR_OK
} else {
sp.Lines[u.Id].LineColor = COLOR_KO
}
case <-time.After(2 * time.Second):
break loop
}
}
logPar.Text = logbuf.String()
termui.Render(termui.Body)
}
})
termui.Loop()
//.........这里部分代码省略.........
开发者ID:jvgutierrez,项目名称:httptuimon,代码行数:101,代码来源:httptuimon.go
示例4: main
func main() {
err := ui.Init()
if err != nil {
panic(err)
}
defer ui.Close()
p := ui.NewPar(":PRESS q TO QUIT DEMO")
p.Height = 3
p.Width = 50
p.TextFgColor = ui.ColorWhite
p.Border.Label = "Text Box"
p.Border.FgColor = ui.ColorCyan
strs := []string{"[0] gizak/termui", "[1] editbox.go", "[2] iterrupt.go", "[3] keyboard.go", "[4] output.go", "[5] random_out.go", "[6] dashboard.go", "[7] nsf/termbox-go"}
list := ui.NewList()
list.Items = strs
list.ItemFgColor = ui.ColorYellow
list.Border.Label = "List"
list.Height = 7
list.Width = 25
list.Y = 4
g := ui.NewGauge()
g.Percent = 50
g.Width = 50
g.Height = 3
g.Y = 11
g.Border.Label = "Gauge"
g.BarColor = ui.ColorRed
g.Border.FgColor = ui.ColorWhite
g.Border.LabelFgColor = ui.ColorCyan
spark := ui.Sparkline{}
spark.Height = 1
spark.Title = "srv 0:"
spdata := []int{4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6}
spark.Data = spdata
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
spark1 := ui.Sparkline{}
spark1.Height = 1
spark1.Title = "srv 1:"
spark1.Data = spdata
spark1.TitleColor = ui.ColorWhite
spark1.LineColor = ui.ColorRed
sp := ui.NewSparklines(spark, spark1)
sp.Width = 25
sp.Height = 7
sp.Border.Label = "Sparkline"
sp.Y = 4
sp.X = 25
sinps := (func() []float64 {
n := 220
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
lc := ui.NewLineChart()
lc.Border.Label = "dot-mode Line Chart"
lc.Data = sinps
lc.Width = 50
lc.Height = 11
lc.X = 0
lc.Y = 14
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorRed | ui.AttrBold
lc.Mode = "dot"
bc := ui.NewBarChart()
bcdata := []int{3, 2, 5, 3, 9, 5, 3, 2, 5, 8, 3, 2, 4, 5, 3, 2, 5, 7, 5, 3, 2, 6, 7, 4, 6, 3, 6, 7, 8, 3, 6, 4, 5, 3, 2, 4, 6, 4, 8, 5, 9, 4, 3, 6, 5, 3, 6}
bclabels := []string{"S0", "S1", "S2", "S3", "S4", "S5"}
bc.Border.Label = "Bar Chart"
bc.Width = 26
bc.Height = 10
bc.X = 51
bc.Y = 0
bc.DataLabels = bclabels
bc.BarColor = ui.ColorGreen
bc.NumColor = ui.ColorBlack
lc1 := ui.NewLineChart()
lc1.Border.Label = "braille-mode Line Chart"
lc1.Data = sinps
lc1.Width = 26
lc1.Height = 11
lc1.X = 51
lc1.Y = 14
lc1.AxesColor = ui.ColorWhite
lc1.LineColor = ui.ColorYellow | ui.AttrBold
p1 := ui.NewPar("Hey!\nI am a borderless block!")
p1.HasBorder = false
p1.Width = 26
//.........这里部分代码省略.........
开发者ID:davidwadden,项目名称:lattice-release,代码行数:101,代码来源:dashboard.go
示例5: main
func main() {
if err := ui.Init(); err != nil {
panic(err)
}
defer ui.Close()
p := ui.NewPar(":PRESS q TO QUIT DEMO")
p.Height = 3
p.Width = 50
p.TextFgColor = ui.ColorWhite
p.BorderLabel = "Text Box"
p.BorderFg = ui.ColorCyan
p.Handle("/timer/1s", func(e ui.Event) {
cnt := e.Data.(ui.EvtTimer)
if cnt.Count%2 == 0 {
p.TextFgColor = ui.ColorRed
} else {
p.TextFgColor = ui.ColorWhite
}
})
strs := []string{"[0] gizak/termui", "[1] editbox.go", "[2] iterrupt.go", "[3] keyboard.go", "[4] output.go", "[5] random_out.go", "[6] dashboard.go", "[7] nsf/termbox-go"}
list := ui.NewList()
list.Items = strs
list.ItemFgColor = ui.ColorYellow
list.BorderLabel = "List"
list.Height = 7
list.Width = 25
list.Y = 4
g := ui.NewGauge()
g.Percent = 50
g.Width = 50
g.Height = 3
g.Y = 11
g.BorderLabel = "Gauge"
g.BarColor = ui.ColorRed
g.BorderFg = ui.ColorWhite
g.BorderLabelFg = ui.ColorCyan
spark := ui.Sparkline{}
spark.Height = 1
spark.Title = "srv 0:"
spdata := []int{4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6, 4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6, 4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6, 4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6}
spark.Data = spdata
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
spark1 := ui.Sparkline{}
spark1.Height = 1
spark1.Title = "srv 1:"
spark1.Data = spdata
spark1.TitleColor = ui.ColorWhite
spark1.LineColor = ui.ColorRed
sp := ui.NewSparklines(spark, spark1)
sp.Width = 25
sp.Height = 7
sp.BorderLabel = "Sparkline"
sp.Y = 4
sp.X = 25
sinps := (func() []float64 {
n := 220
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
lc := ui.NewLineChart()
lc.BorderLabel = "dot-mode Line Chart"
lc.Data = sinps
lc.Width = 50
lc.Height = 11
lc.X = 0
lc.Y = 14
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorRed | ui.AttrBold
lc.Mode = "dot"
bc := ui.NewBarChart()
bcdata := []int{3, 2, 5, 3, 9, 5, 3, 2, 5, 8, 3, 2, 4, 5, 3, 2, 5, 7, 5, 3, 2, 6, 7, 4, 6, 3, 6, 7, 8, 3, 6, 4, 5, 3, 2, 4, 6, 4, 8, 5, 9, 4, 3, 6, 5, 3, 6}
bclabels := []string{"S0", "S1", "S2", "S3", "S4", "S5"}
bc.BorderLabel = "Bar Chart"
bc.Width = 26
bc.Height = 10
bc.X = 51
bc.Y = 0
bc.DataLabels = bclabels
bc.BarColor = ui.ColorGreen
bc.NumColor = ui.ColorBlack
lc1 := ui.NewLineChart()
lc1.BorderLabel = "braille-mode Line Chart"
lc1.Data = sinps
lc1.Width = 26
lc1.Height = 11
lc1.X = 51
//.........这里部分代码省略.........
开发者ID:missingdays,项目名称:termui,代码行数:101,代码来源:dashboard.go
示例6: main
func main() {
if err := ui.Init(); err != nil {
panic(err)
}
defer ui.Close()
sinps := (func() []float64 {
n := 400
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
sinpsint := (func() []int {
ps := make([]int, len(sinps))
for i, v := range sinps {
ps[i] = int(100*v + 10)
}
return ps
})()
spark := ui.Sparkline{}
spark.Height = 8
spdata := sinpsint
spark.Data = spdata[:100]
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
sp := ui.NewSparklines(spark)
sp.Height = 11
sp.BorderLabel = "Sparkline"
lc := ui.NewLineChart()
lc.BorderLabel = "braille-mode Line Chart"
lc.Data = sinps
lc.Height = 11
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorYellow | ui.AttrBold
gs := make([]*ui.Gauge, 3)
for i := range gs {
gs[i] = ui.NewGauge()
//gs[i].LabelAlign = ui.AlignCenter
gs[i].Height = 2
gs[i].Border = false
gs[i].Percent = i * 10
gs[i].PaddingBottom = 1
gs[i].BarColor = ui.ColorRed
}
ls := ui.NewList()
ls.Border = false
ls.Items = []string{
"[1] Downloading File 1",
"", // == \newline
"[2] Downloading File 2",
"",
"[3] Uploading File 3",
}
ls.Height = 5
par := ui.NewPar("<> This row has 3 columns\n<- Widgets can be stacked up like left side\n<- Stacked widgets are treated as a single widget")
par.Height = 5
par.BorderLabel = "Demonstration"
// build layout
ui.Body.AddRows(
ui.NewRow(
ui.NewCol(6, 0, sp),
ui.NewCol(6, 0, lc)),
ui.NewRow(
ui.NewCol(3, 0, ls),
ui.NewCol(3, 0, gs[0], gs[1], gs[2]),
ui.NewCol(6, 0, par)))
// calculate layout
ui.Body.Align()
ui.Render(ui.Body)
ui.Handle("/sys/kbd/q", func(ui.Event) {
ui.StopLoop()
})
ui.Handle("/timer/1s", func(e ui.Event) {
t := e.Data.(ui.EvtTimer)
i := t.Count
if i > 103 {
ui.StopLoop()
return
}
for _, g := range gs {
g.Percent = (g.Percent + 3) % 100
}
sp.Lines[0].Data = spdata[:100+i]
lc.Data = sinps[2*i:]
ui.Render(ui.Body)
})
//.........这里部分代码省略.........
开发者ID:himanshugpt,项目名称:termui,代码行数:101,代码来源:grid.go
示例7: buildUI
func buildUI(info info.Info) {
urlLabel := ui.NewPar(fmt.Sprintf("%s", info.Url))
urlLabel.Height = 3
urlLabel.TextFgColor = ui.ColorWhite
urlLabel.BorderLabel = "URL"
urlLabel.BorderFg = ui.ColorCyan
basicInfoStrings := []string{
fmt.Sprintf("IP: %s", strings.Join(info.Ip, ",")),
fmt.Sprintf("Host: %s", strings.Join(info.RealHost, ",")),
fmt.Sprintf("Distribution: %s", info.Distribution),
}
basicInfoList := ui.NewList()
basicInfoList.Items = basicInfoStrings
basicInfoList.ItemFgColor = ui.ColorYellow
basicInfoList.BorderLabel = "BasicInfo"
basicInfoList.Height = 15
basicInfoList.Width = 25
basicInfoList.Y = 0
serverLabel := ui.NewPar(fmt.Sprintf("Name: %s\nVersion: %s", info.Server.Name, info.Server.Version))
serverLabel.Height = 4
serverLabel.TextFgColor = ui.ColorWhite
serverLabel.BorderLabel = "Server"
serverLabel.BorderFg = ui.ColorCyan
languageLabel := ui.NewPar(fmt.Sprintf("Name: %s\nVersion: %s", info.Language.Name, info.Language.Version))
languageLabel.Height = 4
languageLabel.TextFgColor = ui.ColorWhite
languageLabel.BorderLabel = "Language"
languageLabel.BorderFg = ui.ColorCyan
frameworkLabel := ui.NewPar(fmt.Sprintf("Name: %s\nVersion: %s", info.Framework.Name, info.Framework.Version))
frameworkLabel.Height = 4
frameworkLabel.TextFgColor = ui.ColorWhite
frameworkLabel.BorderLabel = "Framework"
frameworkLabel.BorderFg = ui.ColorCyan
packageLabel := ui.NewPar(fmt.Sprintf("Name: %s\nVersion: %s", info.Package.Name, info.Package.Version))
packageLabel.Height = 4
packageLabel.TextFgColor = ui.ColorWhite
packageLabel.BorderLabel = "Package"
packageLabel.BorderFg = ui.ColorCyan
ispLabel := ui.NewPar(fmt.Sprintf("Name: %s\nRegion: %s", info.ISP.Name, info.ISP.Region))
ispLabel.Height = 4
ispLabel.TextFgColor = ui.ColorWhite
ispLabel.BorderLabel = "ISP"
ispLabel.BorderFg = ui.ColorCyan
var headerStrings []string
for key, values := range info.RawHeaders {
headerStrings = append(headerStrings, fmt.Sprintf("%s: %s", key, strings.Join(values[:], ",")))
}
headerList := ui.NewList()
headerList.Items = headerStrings
headerList.ItemFgColor = ui.ColorYellow
headerList.BorderLabel = "Raw Headers"
headerList.Height = 25
headerList.Y = 0
var cookieStrings []string
for key, values := range info.Cookies {
cookieStrings = append(cookieStrings, fmt.Sprintf("%s: %s", key, values))
}
cookieList := ui.NewList()
cookieList.Items = cookieStrings
cookieList.ItemFgColor = ui.ColorYellow
cookieList.BorderLabel = "Cookies"
cookieList.Height = 25
cookieList.Y = 0
/* demo */
sinps := (func() []float64 {
n := 400
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
sinpsint := (func() []int {
ps := make([]int, len(sinps))
for i, v := range sinps {
ps[i] = int(100*v + 10)
}
return ps
})()
spark := ui.Sparkline{}
spark.Height = 12
spdata := sinpsint
spark.Data = spdata[:100]
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
//.........这里部分代码省略.........
开发者ID:takaaki-mizuno,项目名称:web-architecture-analyzer,代码行数:101,代码来源:main.go
注:本文中的github.com/gizak/termui.Sparkline类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论