#matlab #plot #histogram
#matlab #построение графика #гистограмма
Вопрос:
У меня есть график гистограммы MATLAB, созданный с некоторыми данными, с примерно 50 ячейками. Теперь мне нужно вставить строку текста в график в любом месте, где она не будет запутываться со столбцами гистограммы. Текст в основном представляет собой «Используемый период данных: от mmm dd до mmm dd» (я упоминаю это, чтобы дать представление о требуемой ширине и где текст можно разделить при необходимости).
Один из методов, который я рассмотрел, заключался в том, чтобы найти ряд смежных ячеек гистограммы, где частота (ось y) остается менее 90% от максимальной из всех частот; затем текст может быть напечатан в позиции x, начиная с первого из этих ячеек в верхней части графика.
Это хороший способ сделать это? Если да, то как мне вычислить эту непрерывную серию ячеек без зацикливания?
Или есть лучший способ адаптивного размещения этого текста в соответствии с данными?
Редактировать: из-за других соображений количество ячеек гистограммы больше не равно фиксированным 50, а скорее xmax/20
где xmax — максимальное значение по оси x. Алгоритмам, которые зависят от работы с агрегатами из нескольких ячеек, возможно, потребуется учитывать эту изменчивость при вычислении этого числа.
Комментарии:
1. Почему бы вам не добавить «текст» в качестве заголовка? Это не мешает гистограмме.
2. Потому что это не заголовок? Заголовок графика уже есть, и это всего лишь некоторые релевантные данные, которые будут полезны при просмотре графика в виде изображения.
3. @sundar Вам нужно делать это программно? Вы можете сделать это очень легко в интерактивном режиме через окно matlab figure
4. Интерактивный способ на данный момент возможен из-за очень малого объема генерируемых графиков (и человеческий глаз делает это намного проще и надежнее); просто будет еще лучше, если он будет автоматически сгенерирован для проверки на будущее.
Ответ №1:
Я думаю, что самым простым способом было бы использовать многострочный заголовок, необязательно вместе с форматированием TeX, чтобы уменьшить акцент на дополнительной информации. Чтобы создать многострочный заголовок, передайте массив ячеек из строк, подобных этому:
title({'fontsize{16}Actual Title';'fontsize{8}other info'})
Будучи согласованным по гистограммам, я думаю, это выглядело бы аккуратнее, чем наличие текста на самом графике, который может перемещаться.
Комментарии:
1. Мне нравится трюк с размером шрифта, это работоспособная альтернатива на случай, если оригинальная идея окажется слишком сложной. Спасибо!