Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
 Аватар для Jman
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860

Печать графика в OxyPlot

24.07.2017, 10:29. Показов 8005. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток друзья! Помогите пожалуйста решить задачку. Для печати графиков использую Nuget Oxylot. Не могу понять как мне напечатать график в реальном времени. Например изменения раз в секунду. По оси X должно быть время, по оси Y - значение double, изменяющееся от 0 до 50.00 единиц (частота в Гц). Взял семпл из документации, а как туда значение вставить и обновлять по времени не знаю как...
Вот класс графика:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 public class Plotter
    {
        private PlotModel model;
        private DateTime startDate = DateTime.Now.AddDays(-10);
        private DateTime endDate = DateTime.Now;
 
        private readonly List<OxyColor> colors = new List<OxyColor>
                                            {
                                                OxyColors.Green,
                                                OxyColors.IndianRed,
                                                OxyColors.Coral,
                                                OxyColors.Chartreuse,
                                                OxyColors.Azure
                                            };
 
        private readonly List<MarkerType> markerTypes = new List<MarkerType>
                                                   {
                                                       MarkerType.Plus,
                                                       MarkerType.Star,
                                                       MarkerType.Diamond,
                                                       MarkerType.Triangle,
                                                       MarkerType.Cross
                                                   };
 
 
 
        public Plotter()
        {
            model = new PlotModel { Title = "DateTimeAxis" };
        }
 
    
        public PlotModel PrintChart()
        {
            var minValue = DateTimeAxis.ToDouble(startDate);
            var maxValue = DateTimeAxis.ToDouble(endDate);
            model.Axes.Add(new DateTimeAxis { Position = AxisPosition.Bottom, Minimum = minValue, Maximum = maxValue, StringFormat = "HH:mm" });
            return model;
        }
}
В основном окошке:
C#
1
2
3
4
5
 public void PrintChart()
        {
            Plotter pt = new Plotter();
            frGraph.Model = pt.PrintChart();
        }
По событию кнопки разрешаю печать:
C#
1
2
3
4
 private void startDrawing_Click(object sender, EventArgs e)
        {
           PrintChart();
        }
И по таймеру пытаюсь обновлять (не уверен, что делаю правильно..)

C#
1
2
3
4
5
6
 private void InitializeTimerForChart()
        {
            tickCount.Interval = References.TIMER_INTERVAL; // (1000 мс)
            this.tickCount.Tick += new System.EventHandler(this.tickCount_Tick);
            tickCount.Enabled = true;
        }
C#
1
2
3
4
5
6
7
8
9
10
private void tickCount_Tick(object sender, EventArgs e)
        {
            if (InvokeRequired)
            {
                Invoke((MethodInvoker)delegate ()
                {
                    frGraph.Invalidate();//PrintChart();
                });
            }
        }
Буду рад любой помощи!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2017, 10:29
Ответы с готовыми решениями:

Печать графика
Здравствуйте, есть программа, которая сохраняет данные в текстовый файл в таком виде: Каждые 5-6 сек в файл дописывается новая строка....

Вывод на печать Графика
Как вывести на печать график, созданный с помощью компонента Chart?

Печать графика из Chart
Здравствуйте. Есть три элемента chart, нужно распечатать графики из них на один лист и масштабировать до нужного размера. Подскажите...

22
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
25.07.2017, 11:53
Студворк — интернет-сервис помощи студентам
Jman, ну не у каждого OpenSource проекта есть хорошая документация, мне в своё время исходники помогли)
0
 Аватар для Jman
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
25.07.2017, 11:54  [ТС]
Кстати, а штатными средствами Chart вы пользовались? Или рядом не стоят со сторонними плоттерами?
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
25.07.2017, 12:21
Jman, для чего-то простого подойдёт, но в хороших проектах не вытягивают, + oxy хорош тем что открыт исходный и ты всегда можешь подредактировать для себя что-то, исправить ошибки или что-то еще
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.07.2017, 12:21

Печать графика, нарисованного на панели
Вопрос: На форме имеется панел, на панели нарисованно изображение(график), можно ли(если да то как?) расаичатать эту панель ну или всё...

Вывод на печать графика из TChart
lazarus версия 0.9.30.4 с помощью компонент TChart у меня строится график. Этот график надо распечатать. Рылась в интернете, не нашла:(

Векторная графика. Вывод на печать и сохранение
Здравствуйте. Как мне печатать нарисованную мной в С# графику в векторном виде? Например, в Автокаде мы получаем при печати чертежи в...

печать графика или таблицы в div при нажатии на него
Добрый вечер!Помоги пожалуйста у меня есть div при нажатии на него нужно чтобы график находяйщийся в нем печатался. Windows.print() и print...

Не могу разобраться с OxyPlot
Помогите нарисовать вот такую штуку....Весь день мучаюсь


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru