fix demo, add SetYRange to set both min and max at the same time

Signed-off-by: Markus Ressel <mail@markusressel.de>
This commit is contained in:
Markus Ressel 2024-10-12 17:35:45 +02:00
parent d550a262e6
commit a89f40eb4c
No known key found for this signature in database
GPG Key ID: F79626FAB2A3AACF
2 changed files with 18 additions and 14 deletions

View File

@ -33,9 +33,11 @@ func main() {
tcell.ColorGreen, tcell.ColorGreen,
}) })
bmLineChart.SetMarker(tvxwidgets.PlotMarkerBraille) bmLineChart.SetMarker(tvxwidgets.PlotMarkerBraille)
bmLineChart.SetYAxisAutoScaleMin(true) bmLineChart.SetYAxisAutoScaleMin(false)
bmLineChart.SetYAxisAutoScaleMax(true) bmLineChart.SetYAxisAutoScaleMax(false)
bmLineChart.SetData(sinData) bmLineChart.SetData(sinData)
bmLineChart.SetYRange(-1, 1)
bmLineChart.SetDrawXAxisLabel(false) bmLineChart.SetDrawXAxisLabel(false)
dmLineChart := tvxwidgets.NewPlot() dmLineChart := tvxwidgets.NewPlot()
@ -58,11 +60,10 @@ func main() {
dotModeChartData[0] = append(dotModeChartData[0], sampleData2[5:]...) dotModeChartData[0] = append(dotModeChartData[0], sampleData2[5:]...)
dotModeChartData[0] = append(dotModeChartData[0], sampleData1[:7]...) dotModeChartData[0] = append(dotModeChartData[0], sampleData1[:7]...)
dotModeChartData[0] = append(dotModeChartData[0], sampleData2[3:]...) dotModeChartData[0] = append(dotModeChartData[0], sampleData2[3:]...)
dmLineChart.SetYAxisAutoScaleMin(true) dmLineChart.SetYAxisAutoScaleMin(false)
dmLineChart.SetYAxisAutoScaleMax(true) dmLineChart.SetYAxisAutoScaleMax(false)
dmLineChart.SetData(dotModeChartData) dmLineChart.SetData(dotModeChartData)
dmLineChart.SetMaxVal(7.0) dmLineChart.SetYRange(0, 3)
dmLineChart.SetMinVal(5.0)
scatterPlotData := make([][]float64, 2) scatterPlotData := make([][]float64, 2)
scatterPlotData[0] = []float64{1, 2, 3, 4, 5} scatterPlotData[0] = []float64{1, 2, 3, 4, 5}
@ -77,11 +78,10 @@ func main() {
}) })
dmScatterPlot.SetPlotType(tvxwidgets.PlotTypeScatter) dmScatterPlot.SetPlotType(tvxwidgets.PlotTypeScatter)
dmScatterPlot.SetMarker(tvxwidgets.PlotMarkerDot) dmScatterPlot.SetMarker(tvxwidgets.PlotMarkerDot)
dmScatterPlot.SetYAxisAutoScaleMin(true) dmScatterPlot.SetYAxisAutoScaleMin(false)
dmScatterPlot.SetYAxisAutoScaleMax(true) dmScatterPlot.SetYAxisAutoScaleMax(false)
dmScatterPlot.SetData(scatterPlotData) dmScatterPlot.SetData(scatterPlotData)
dmScatterPlot.SetMaxVal(3) dmScatterPlot.SetYRange(-1, 3)
dmScatterPlot.SetMinVal(-1)
dmScatterPlot.SetDrawYAxisLabel(false) dmScatterPlot.SetDrawYAxisLabel(false)
bmScatterPlot := tvxwidgets.NewPlot() bmScatterPlot := tvxwidgets.NewPlot()
@ -93,11 +93,10 @@ func main() {
}) })
bmScatterPlot.SetPlotType(tvxwidgets.PlotTypeScatter) bmScatterPlot.SetPlotType(tvxwidgets.PlotTypeScatter)
bmScatterPlot.SetMarker(tvxwidgets.PlotMarkerBraille) bmScatterPlot.SetMarker(tvxwidgets.PlotMarkerBraille)
bmScatterPlot.SetYAxisAutoScaleMin(true) bmScatterPlot.SetYAxisAutoScaleMin(false)
bmScatterPlot.SetYAxisAutoScaleMax(true) bmScatterPlot.SetYAxisAutoScaleMax(false)
bmScatterPlot.SetData(scatterPlotData) bmScatterPlot.SetData(scatterPlotData)
bmScatterPlot.SetMaxVal(5.0) bmScatterPlot.SetYRange(0, 5)
bmScatterPlot.SetMinVal(0.0)
firstRow := tview.NewFlex().SetDirection(tview.FlexColumn) firstRow := tview.NewFlex().SetDirection(tview.FlexColumn)
firstRow.AddItem(dmLineChart, 0, 1, false) firstRow.AddItem(dmLineChart, 0, 1, false)

View File

@ -188,6 +188,11 @@ func (plot *Plot) SetMinVal(minVal float64) {
plot.minVal = minVal plot.minVal = minVal
} }
func (plot *Plot) SetYRange(minVal float64, maxVal float64) {
plot.minVal = minVal
plot.maxVal = maxVal
}
// SetDotMarkerRune sets dot marker rune. // SetDotMarkerRune sets dot marker rune.
func (plot *Plot) SetDotMarkerRune(r rune) { func (plot *Plot) SetDotMarkerRune(r rune) {
plot.dotMarkerRune = r plot.dotMarkerRune = r