示例#1
0
        private void GraphTripPurpose(Distribution.DistributionInformation[] distributionData)
        {
            TashaHousehold Household   = new TashaHousehold();
            TashaPerson    person      = new TashaPerson();
            List <int>     primaryWork = new List <int>();

            person.Licence = false;
            person.Male    = GenderLocal;

            SchedulerHousehold.CreateHouseholdProjects(Household);
            SchedulerPerson.InitializePersonalProjects(person);
            SchedulerPerson.GenerateWorkSchoolSchedule(person, null);
            SchedulerTripChain.GetTripChain(person);
            var trip = SchedulerTrip.GetTrip(0);

            Occupation[] Occupations = { Occupation.Professional, Occupation.Manufacturing, Occupation.Retail, Occupation.Office, Occupation.Unknown, Occupation.NotEmployed };

            LoadDistributioNumbers(person, primaryWork, Occupations);

            float[] data = new float[this.StartTimeQuantums];
            foreach (int ID in primaryWork)
            {
                var table = distributionData[ID].StartTimeFrequency;
                for (int i = 0; i < this.StartTimeQuantums; i++)
                {
                    for (int j = 0; j < this.MaxFrequencyLocal; j++)
                    {
                        data[i] += table[i][j];
                    }
                }
            }

            // Make all data in terms of percentages of total.

            float sum = data.Sum();

            for (int number = 0; number < data.Length; number++)
            {
                data[number] = data[number] / sum * 100;
                Writer.WriteLine("{0}, {1}", (Time.FromMinutes((60 * 4) + number * (1440 / this.StartTimeQuantums))), data[number]);
            }

            GenerateChart(String.Format("OfficeDur.png"), data, "Time of Day", "Probability");
        }