Документация Flot API описывает обширные возможности библиотеки для настройки осей графа. Вы можете установить количество отметок, их цвет и т. д. Отдельно для каждой оси. Однако я не могу понять, как запретить Flot рисовать вертикальные линии сетки, не удаляя при этом метки оси x. Я безуспешно пытался изменить параметры tickColor, ticks и tickSize.
Я хочу создавать красивые, совместимые с Tufte графики, такие как эти:
http://www.robgoodlatte.com/wp-content/uploads/2007/05/tufte_mint.gifhttp://www.argmax.com/mt_blog/archive/RealGDP_graph.jpg
Я считаю, что вертикальные отметки на моих графиках - это мусор. Я работаю с временными рядами, которые я отображаю в виде вертикальных полос, поэтому вертикальные отметки часто прорезают полосы таким образом, что визуально возникают помехи.
Можем ли мы принять ответ от @dkrape с более чем 20 положительными голосами, что является более актуальным?
После некоторого покопания я совершенно уверен, что через Flot API это невозможно. Тем не менее, если вы сильно испачкаетесь, вы можете это сделать - я опубликовал модифицированная версия одного примера, который делает это. Просмотреть источник показывает всю безобразность.
Было бы правильно резюмировать ваш подход следующим образом: 1) используйте крошечные отметки на оси, чтобы они фактически не появлялись; 2) сами создавайте метки, используя настраиваемые блоки div с рассчитанным абсолютным стилем, чтобы убедиться, что они попадают в нужное место?
Похоже, это очень близко к тому, сколько внутренностей Flot работает :)
Каким образом вы могли бы завершить это и отправить им в качестве патча? (PS. Спасибо за ответ; я думаю, вы правы и собираюсь принять его сейчас.)
ага, вот в чем идея. Я скопировал код из функций рисования - они потребуют некоторых модификаций, но я думаю, что скоро могу отправить его :)
Начиная с июня 2009 года существует выпуск 167, который является запросом именно этой функции. Включает две реализации и некоторое согласие автора флота с тем, что это хорошая идея.
Этот пост появился более чем на два года позже, чем OP и Flot (теперь версия 0.6), возможно, сильно изменились за это время, или, возможно, есть лучшие варианты, чем они, но в любом случае вот мой вклад.
Я случайно наткнулся на обходной путь для этой проблемы: установите альфа-канал цвета галочки сетки на полную прозрачность. Например:
var options = {
grid: {show: true,
color: "rgb(48, 48, 48)",
tickColor: "rgba(255, 255, 255, 0)",
backgroundColor: "rgb(255, 255, 255)"}
};
Работает для меня.
Как отметил Лауриман, компания Flot продолжает развиваться. Возможность контролировать это была добавлена в API (как указано в проблеме flot, на которую ссылается Нельсон).
Если вы загрузите последнюю версию (которая по-прежнему имеет маркировку 0.6), вы можете отключить линии на оси с помощью «tickLength», например:
xaxis: {
tickLength: 0
}
К сожалению, это дополнение не было обновлено в документации API.
Хорошее замечание, Кевин. Да, мне тоже пришлось получить это из ствола. Они должны повторить номер версии и добавить его в основную загрузку.
Когда я посмотрел, добавление было обновлено в документации по API магистрали. Его нет в одной из загрузок, вы должны получить как JS, так и API-документ из репозитория.
@KevinLewis flot теперь перемещен на github github.com/flot/flot Googlecode устарел
Чтобы не было галочки в параметрах, просто поставьте галочки: [] на соответствующей оси
Ссылки неработающие.