コード例 #1
0
        // Loads the hourly temperature chart
        /// <summary>
        /// Loads the hourly temperature chart.
        /// </summary>
        private async void LoadHourlyTemperatureChart()
        {
            try
            {
                hourlyWeather = await HourlyWeatherInfoProcessor.LoadHourlyWeather(currentWeather.Coord.Lon, currentWeather.Coord.Lat);
            }
            catch (Exception)
            {
                Console.WriteLine("Exception occurred");
            }

            WeatherChart.Series.Clear();
            DisplayedChart.Text = "48 hour forecast";
            WeatherChart.Header = "Temperature";

            // Adding horizontal axis to chart
            primaryAxis.Header = "Date";


            // Adding vertical axis to chart
            secondaryAxis.Header = "Temperature [°C]";

            // Preparing data for Chart
            HourlyWeatherForecast hourlyData = new HourlyWeatherForecast(hourlyWeather);

            // Creating AdornmentInfo
            ChartAdornmentInfo adornmentInfo = new ChartAdornmentInfo()
            {
                ShowMarker     = true,
                Symbol         = ChartSymbol.Diamond,
                SymbolHeight   = 5,
                SymbolWidth    = 5,
                SymbolInterior = new SolidColorBrush(Colors.Black)
            };

            //Initialize needed Line Series
            LineSeries seriesTemperature = new LineSeries()
            {
                ItemsSource    = hourlyData.temperature,
                XBindingPath   = "Date",
                YBindingPath   = "Temperature",
                Label          = "Temperature",
                LegendIcon     = ChartLegendIcon.Circle,
                AdornmentsInfo = adornmentInfo
            };

            //Adding Series to Chart
            WeatherChart.Series.Add(seriesTemperature);
        }
コード例 #2
0
        // Copies hourly weather forecast data from ApiLibrary structures to new structures prepared for chart display
        /// <summary>
        /// Copies hourly weather forecast data from ApiLibrary structures to new structures prepared for chart display.
        /// </summary>
        /// <param name="dailyForecastSource">HourlyWeatherInfoModel object containing hourly weather forecast information.</param>
        public HourlyWeatherForecast(HourlyWeatherInfoModel dailyForecastSource)
        {
            temperature         = new List <TempForecastData>();
            apparentTemperature = new List <TempForecastData>();
            humidity            = new List <HumidityForecastData>();
            pressure            = new List <PressureForecastData>();
            windSpeed           = new List <WindSpeedForecastData>();

            now = DateTime.Now;

            int i = 0;

            foreach (var item in dailyForecastSource.Hourly)
            {
                now = now.AddHours(i);
                string requiredHour = now.Hour.ToString() + ":00";
                temperature.Add(new TempForecastData(NormalizationOperations.NormalizeTemperature(dailyForecastSource.Hourly[i].Temp), requiredHour));
                apparentTemperature.Add(new TempForecastData(NormalizationOperations.NormalizeTemperature(dailyForecastSource.Hourly[i].Feels_like), requiredHour));
                humidity.Add(new HumidityForecastData(dailyForecastSource.Hourly[i].Humidity, requiredHour));
                pressure.Add(new PressureForecastData(dailyForecastSource.Hourly[i].Pressure, requiredHour));
                windSpeed.Add(new WindSpeedForecastData(dailyForecastSource.Hourly[i].Wind_speed, requiredHour));
                i++;
            }
        }