Alla on esimerkki lämpötilojen näytöstä vbNETissä. Tämä piirtää 3 lämpötilakäyrää samaan kuvaan.
Ohjelma käyttää hyväksi Microsoft Officen käyttämiä kaavioita, eli siis Office pitää olla asennettuna.
Aloita uusi projekti. Valitse Tools / Choose Toolbox items... / COM components, ja valitse sieltä Microsoft Office Charts (jos on useita versioita, niin valitse vaan kaikki)
Valitse sitten vasemman reunan Toolboxista Microsoft Office Chart, ja piirrä sillä Formiin neliö. Muuta sen nimeksi Lämpökaavio
Tee myös ajastin, Timer1, lomakkeelle.
Sitten Kopioi / Liitä oheinen ohjelma koodi-ikkunaan siten, että se korvaa sieltä kaiken.
Ohjelman käynnistyksen jälkeen pitäisi tulla viivakaavio näkyviin. Ohjelma "mittaa" lämpötiloja, ja käyrää alkaa ilmestyä. Kaavio skaalautuu automaattisesti. Kun 20 mittausta on tullut täyteen, niin käyrät alkavat scrollata vasemmalle.
Koodissa on myös paljon eri ominaisuuksien asetteluja. Nämä pitäisi kyllä riittää normaalikäyttöön. Hiiren oikealla klikkaamalla saa valikon, ja siellä on lisää valintoja.
Public Class Form1
Const Kpl = 20 ' Montako lukemaa näytetään kaaviossa
Dim seriesNames(3) As Object ' Montako käyrää
Dim categories(Kpl) As Object
Dim values1(Kpl) As Object
Dim values2(Kpl) As Object
Dim values3(Kpl) As Object
Dim c As Object
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Nämä ovat Timerin alustuksia
Timer1.Interval = 1000
Timer1.Enabled = True
' Kaavio -----------------------------------------------------------------
Lämpökaavio.Clear()
Lämpökaavio.Charts.Add()
c = Lämpökaavio.Constants
Lämpökaavio.Height = 400 ' Kaavion koko
Lämpökaavio.Width = 600
Lämpökaavio.HasChartSpaceTitle = True
Lämpökaavio.ChartSpaceTitle.Font.Size = 16
Lämpökaavio.ChartSpaceTitle.Font.Bold = True
Lämpökaavio.ChartSpaceTitle.Caption = "Lämpötilat"
seriesNames(0) = "2,0 m" ' Selitteet
seriesNames(1) = "Maanpinta"
seriesNames(2) = "Maaperä"
With Me.Lämpökaavio.Charts(0)
'.Type = OWC11.ChartChartTypeEnum.chChartTypeLine
.Type = 6 ' Line eli viivakaavio
' Yhteensä 3 käyrää
.SeriesCollection.Add()
.SeriesCollection.Add()
.SeriesCollection.Add()
.SeriesCollection(0).Caption = seriesNames(0) ' Selite
.SeriesCollection(0).SetData(c.chDimCategories, c.chDataLiteral, categories) ' Käyrän alla oleva aika
.SeriesCollection(0).SetData(c.chDimValues, c.chDataLiteral, values1) ' Arvot
.SeriesCollection(0).Line.Color = QBColor(12) ' Väri
.SeriesCollection(0).Line.Weight = 2 ' Paksu viiva
.SeriesCollection(1).Caption = seriesNames(1)
.SeriesCollection(1).SetData(c.chDimCategories, c.chDataLiteral, categories)
.SeriesCollection(1).SetData(c.chDimValues, c.chDataLiteral, values2)
.SeriesCollection(1).Line.Color = QBColor(2)
.SeriesCollection(1).Line.Weight = 2
.SeriesCollection(2).Caption = seriesNames(2)
.SeriesCollection(2).SetData(c.chDimCategories, c.chDataLiteral, categories)
.SeriesCollection(2).SetData(c.chDimValues, c.chDataLiteral, values3)
.SeriesCollection(2).Line.Color = QBColor(3)
.SeriesCollection(2).Line.Weight = 2
.HasLegend = True
' Asteikko 5 asteen välein
.Axes(c.chAxisPositionLeft).MajorUnit = 5
' Alareunaan merkit
.Axes(c.chAxisPositionbottom).TickLabelSpacing = 5 ' Aikalukema 5 välein
.Axes(c.chAxisPositionbottom).TickMarkSpacing = 1 ' Merkki joka lukeman kohdalle
.PlotArea.Interior.Color = &HCCFFFF ' Kaavion taustaväri
End With
' Lämpökaavio.ExportPicture("C:\lampo.gif", "gif", 600, 400)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim i As Integer
' Siirretään lukemia pykälä taaksepäin
For i = 0 To Kpl - 1
values1(i) = values1(i + 1)
values2(i) = values2(i + 1)
values3(i) = values3(i + 1)
categories(i) = categories(i + 1)
Next
' Uudet arvot
categories(Kpl) = Format(Now, "hhmmss")
values1(Kpl) = 20 + Rnd() * 4 ' Satunnaislukuja
values2(Kpl) = 24 + Rnd() * 8 ' kuvaavat lämpötiloja
values3(Kpl) = 12 + Rnd() * 3
c = Lämpökaavio.Constants
With Lämpökaavio.Charts(0)
.SetData(c.chDimCategories, c.chDataLiteral, categories)
.SeriesCollection(0).SetData(c.chDimValues, c.chDataLiteral, values1)
.SeriesCollection(1).SetData(c.chDimValues, c.chDataLiteral, values2)
.SeriesCollection(2).SetData(c.chDimValues, c.chDataLiteral, values3)
End With
'Lämpökaavio.ExportPicture("C:\lampo.gif", "gif", 600, 400)
End Sub
End ClassAihe on jo aika vanha, joten et voi enää vastata siihen.