Пример написания программы 9
Задание: составить программу, отображающую графики функций sin(x) и cos(x) на интервале [Xmin, Xmax]. Предусмотреть возможность изменения разметки координатных осей, а также шага построения таб- лицы.
Прежде всего, следует поместить на форму сам элемент управления
Chart. Он располагается в панели элементов в разделе Данные.
Список графиков хранится в свойстве Series, который можно из- менить, выбрав соответствующий пункт в окне свойств. Поскольку на одном поле требуется вывести два отдельных графика функций, нужно добавить ещё один элемент. Оба элемента, и существующий и добав- ленный, нужно соответствующим образом настроить: изменить тип диа- граммы ChartType на Spline. Здесь же можно изменить подписи к гра- фикам с абстрактных Series1 и Series2 на sin(x) и cos(x) – за это отвечает свойство Legend. Наконец, с помощью свойства BorderWidth можно сде- лать линию графика потолще, а затем поменять цвет линии с помощью свойства Color.
Ниже приведён текст обработчика нажатия кнопки «Расчёт!», ко- торый выполняет все требуемые настройки и расчёты и отображает графики функций:
private void buttonCalc_Click(object sender, EventArgs e)
{
// Считываем с формы требуемые значения double Xmin = double.Parse(textBoxXmin.Text); double Xmax = double.Parse(textBoxXmax.Text); double Step = double.Parse(textBoxStep.Text);
// Количество точек графика
int count = (int)Math.Ceiling((Xmax - Xmin) / Step)
+ 1;
// Массив значений X – общий для обоих графиков double[] x = new double[count];
// Два массива Y – по одному для каждого графика double[] y1 = new double[count];
double[] y2 = new double[count];
// Расчитываем точки для графиков функции for (int i = 0; i < count; i++)
{
// Вычисляем значение X x[i] = Xmin + Step * i;
// Вычисляем значение функций в точке X y1[i] = Math.Sin(x[i]);
y2[i] = Math.Cos(x[i]);
}
// Настраиваем оси графика chart1.ChartAreas[0].AxisX.Minimum = Xmin; chart1.ChartAreas[0].AxisX.Maximum = Xmax;
// Определяем шаг сетки chart1.ChartAreas[0].AxisX.MajorGrid.Interval = Step;
// Добавляем вычисленные значения в графики chart1.Series[0].Points.DataBindXY(x, y1); chart1.Series[1].Points.DataBindXY(x, y2);
}
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.