
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И сразу пожелание: я могу сделать наклонный (под углом) шрифт СРАЗУ для двух осей (my_graphic.FontSet("Arial",10,0,180);). Нельзя ли сделать такой метод установки шрифта (или угла) для отдельной оси?
Добрый день! Для изменения наклона шрифта осей нужно будет добавить в класс CAxis три новых поля и шесть новых методов для их обслуживания, а он и так на данный момент выглядит уже немного перегруженным. Поэтому я не могу сказать - будет ли добавлен такой функционал или нет. В вашем случае могу посоветовать реализовать наследника от CGraphics, и в нем переопределить метод CreateAxes (переписать буквально две строчки).
Подскажите пож-ста, как добавить текст на научный график. Как ни изголялся, не получилось. Вот немного изменённый код из примера:
Вообще, огромное спасибо, что есть "многочисленные" примеры по CGraphic!!!
На какие-то мелочи приходится тратить много времени, пока не плюнешь и не выругаешься, бросив всё к чертям...
Вообще, огромное спасибо, что есть "многочисленные" примеры по CGraphic!!!
Но ведь есть примеры, например https://www.mql5.com/ru/articles/2866 и https://www.mql5.com/ru/docs/standardlibrary/mathematics/stat
Мало. И не нашёл там ни TextAdd(), ни LineAdd().
Мало. И не нашёл там ни TextAdd(), ни LineAdd().
Добрый день! Решение вашей проблемы кроется в этих строках:
Также среди дополнительных возможностей библиотеки Graphics нужно отметить методы, которые позволяют добавлять на график новые элементы:
- TextAdd() — добавляет текст в произвольное место на графике, координаты необходимо задавать в реальном масштабе. Для точной настройки выводимого текста используйте метод FontSet.
- LineAdd() — добавляет линию в произвольное место на графике, координаты необходимо задавать в реальном масштабе.
- MarksToAxisAdd() — добавляет новые отметки на указанную координатную ось.
Важно отметить, что данные о добавлении этих элементов нигде не хранятся, следовательно, после отрисовки новой кривой на графике или его перерисовки все они будут затёрты.Вы вызовом метода graphic.CurvePlotAll() затираете текст, который хотели отрисовать. Правильно будет так:
Результат:
Roman Konopelko, огромное спасибо!
М-да, имхо, такие особенности работы с графикой стоит указывать в Документации.
Вопрос к знатокам такой. Есть тиковый график на основе научного CGraphic.
Нужно:
1) сделать отступ, как на графике в МТ. Чтобы последние значения не примыкали к правой границе графика;
2) отобразить Y-шкалу справа, а не слева.
Не нашёл в методах таких возможностей...
Dennis Kirichenko:
Нужно:
1) сделать отступ, как на графике в МТ. Чтобы последние значения не примыкали к правой границе графика;
//---
Пример, как это выглядит:
Dennis Kirichenko:
Нужно:
...
2) отобразить Y-шкалу справа, а не слева.
А вот такой возможности нет. Было бы неплохо, если бы можно было не только шкалу справа помещать, но также отображать две независимые шкалы (основная и вспомогательная), как это можно сделать, например, в Excel:
Анатолий, огромное спасибо! Помогло по п.1. Да, я упустил из виду осевой метод CAxis::MaxGrace(const double value).