![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
Здравств, нужно в своем TimeSeriesChart подкрутить ось отображения даты. Но я что-то никак не могу врубиться что именно делает второй параметр в конструкторе????
Вот как делаю
Нужно отображать как можно больше данных при увеличении, когда остается меньше 10 дней на диаграмме отображать часы, чем больше увеличиваем, тем точнее время и показывается ну к примеру 24 значения... тоисть если я увеличил просматревуемую область до одного дня, я хочу видеть каждый час, увеличил до пол дня - хочу видеть каждые пол часа. Если в отрезке больше 10 дней - показывать только месяц и день. Это не сложно, но я не могу понять, как конфигурировать 2 параметр? Спасибо! |
|||
|
||||
| Ares4322 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 25.9.2007 Где: Россия, Москва Репутация: 1 Всего: 3 |
Второй параметр конструктора, по-видимому, это кратность показываемых меток. То есть если стоит тип метки день и кратность 2, то будет показываться метка для каждого второго дня.
Такой динамический алгоритм расчета точности даты-вещь нужная, но вы столкнетесь с проблемой, как расчитать ширину такой метки с датой и временем и добиться того, чтобы они не перекрывались. Но этот алгоритм я встречал то ли в JFreeChart, то ли в JasperReports. Сходу его не смог найти. Но если надо, могу поискать. |
|||
|
||||
| Killer_13 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
Есть иъний девелопер Гайд, но там информации о этом что кот наплакал, в инете тоже найти не могу.. :( Благодарствую за помощь. |
||||
|
|||||
| Ares4322 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 25.9.2007 Где: Россия, Москва Репутация: 1 Всего: 3 |
А у вас не будет текст меток перекрываться, если при отображении данных за день метки будут стоять каждый час?
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
Будет наверное, я пробовал разные варианты, то в некоторых перекрывались. Блин и как сделать? Автоматическая расстановуа хороша, но мне нужно часы показывать когда несколько дней выбрано, а не когда года на главной, я это к тому, что пробовал стандартное форматирование меток.. которое задается одной функцией. Так что посоветуете?.. Пасиб.
|
|||
|
||||
| Ares4322 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 25.9.2007 Где: Россия, Москва Репутация: 1 Всего: 3 |
Что касается построения за сутки, то вы пытаетесь впихнуть невпихуемое)
Для того, чтобы 24 метки для часов влезли, надо либо их шрифт уменьшить (что в итоге может сделать их нечитаемыми), либо увеличить длину оси X, например, сделав альбомную страницу (но это не очень удобно). Мне кажется, что можно не выводить метки для каждого часа. Хватит и для каждого второго или даже 3го. Удобство от этого не сильно пострадает. Я эту проблему решил в лоб, выводя всего в таком формате дд.мм.гггг чч:мм. Динамическая шкала удобна, но не всегда понятна пользователю.Ему к ней еще нужно будет привыкнуть. А такой формат - он вполне ожидаемый, хотя и не очень гибкий. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Не знаю, как устроен JFreeChart, но при уменьшении размера чарта пользователем значения осей когда-нибудь обязательно наложатся. Чарт не должен их изображать в этом случае. Нужна возможность навести мышь на график и получить точные значения в всплывающем окне, например.
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
- я чуток наверное не правильно выразился, фишка в том, что я получаю странное поведение, например у меня на графике 1 день и в нем 10 значений, по умолчанию влазит 12 значений в график по шырине, но они не отображаются. :( Меня оч устраивает такой формат как вы написали, я пробовал.
|
|||
|
||||
| Ares4322 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 25.9.2007 Где: Россия, Москва Репутация: 1 Всего: 3 |
Ну покопайтесь в исходниках, попробуйте поменять этот алгоритм в библиотеке.
А за какой промежуток чаще всего будет строится график? Может за такой большой промежуток и строится-то график никогда не будет) |
|||
|
||||
| Killer_13 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
Что ж спасибо за помощь. |
||||
|
|||||
| Ares4322 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 25.9.2007 Где: Россия, Москва Репутация: 1 Всего: 3 |
Ну понятно, что универсальным) Это как в алгоритмах: есть средний случай, а есть наихудший. Мне кажется, что если за год будут строить раз в год и увидят метки с минутами, то ничего страшного.
Если найдете решение - напишите, если не сложно. |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
Я вот тут копаюсь, пока что не могу понять как работают roll аргументы в этом конструкторе..
и да, может знаете, может можно как-то избежать наложения меток? Вертикальное позиуионирование решает это проблему, но начальство сказало. что метки должны мыть горизонтальны... :( Спасиб. |
|||
|
||||
| Ares4322 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 25.9.2007 Где: Россия, Москва Репутация: 1 Всего: 3 |
rollUnitType используется в методе http://www.jfree.org/jfreechart/api/javado...t.html#line.269
Я так понял, что этот метод сдвигает переданную ему дату, на величину, пропорциональную rollUnitType и rollMultiple. Без переделки исходников, мне кажется, не обойтись. |
|||
|
||||
| Killer_13 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: нет Всего: 1 |
блин. нехорошо.. придется рапортовать, что нельзя такое сделать.. |
||||
|
|||||
| Ares4322 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 25.9.2007 Где: Россия, Москва Репутация: 1 Всего: 3 |
Ну можно только попробовать так: при построении определять интервал и задавать через setDateFormatOverride() формат необходимой точности. Но в данном случае не получится, например, в сутки поместить 24 метки, так как они тупо могут не влезть по ширине и надо менять размер шрифта. Спросите у начальства, может так пойдет?
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |