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 Class
Aihe on jo aika vanha, joten et voi enää vastata siihen.