|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Клиент пожелал несколько графиков. Я никогда с ними не сталкивался, и вот ... очередная засада. Построил простейший график типа Line. Другой тип не подходит. Кривовато как то получается. Вопросы: 1. Можно ли отключить кубики и звездочки в контрольных точках или сделать их как нибудь поменьше ? 2. Можно ли серии выделять не этими значками (см. вопрос 1), а например типами или толщиной линий ? 3. И вобще, может кто пользуется каким нибудь другим, более лучшим инструментом ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2005, 11:48 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
IMHO родные графики в РВ -- довольно неуклюжая штука и слабо русифицированная. Ты рискуешь потерять время, а потом клиент всё равно потребует на русском, чего толком сделать будет нельзя. Мб лучше смотреть в сторону EXCEL -- в первом приближении: т.е. готовить все данные средствами РВ, а потом плюнуть их в EXCEL и там построится всё что угодно). Во втором приближении типа Crystall Reports etc. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2005, 18:12 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Посмотри во вкладке "Text". Там есть "Text Object". Выбираешь там нужный раздел, убираешь галочку в Autosize и ставишь нужную цифру в "Size". Так уменьшается текст. Может быть как-то так и кубики со звездочками уменьшатся. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2005, 19:02 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
PaulJBКлиент пожелал несколько графиков. Я никогда с ними не сталкивался, и вот ... очередная засада. Построил простейший график типа Line. Другой тип не подходит. Кривовато как то получается. Да, стандартные графики в PowerBuilder нормально настроить сложно, а некоторые требования пользователей просто не возможно реализовать, используя стандартные графики - слишком мало настроек и они не особо гибкие. Когда-то я для рисования графика делал специальное DataWindow, в котором все строилось "ручками". Особых изысков там было не нужно (всякие 3-х мерные и прочие графики), и выходило достаточно просто. А так, использование Excel - тоже неплохой ваирант, если нет других противопоказаний. Можно сделать файл-шаблон, допустим, на 2 листе оставить место под данные, а на 1-м - рисовать графики, основываясь на данных 2-го листа. Тогда пользователь сможет динамически менять вид графиков, редактируя шаблон в Excel. В этом случае данные передавать через OLE. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2005, 10:35 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
//Убираем все лишние элементы отображения серии на графике For i = 1 to gr_graph.SeriesCount() For j = 1 to gr_graph.CategoryCount() //Убираем дурацкие квадратики, обозначающие точки на графиках gr_graph.setDataStyle(i, j, NoSymbol!) Next Next ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2005, 15:30 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
PaulJB 2. Можно ли серии выделять не этими значками (см. вопрос 1), а например типами или толщиной линий ? А что значит - типами?? Вообще они выделяются цветом... Но это и так понятно... Толщину менять можно, но она кажется одна для всех... А вообще - есть набор объектов в графике xxxDispAttr, при помощи которых настраивается отображение данных ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2005, 15:36 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Спасибо :) с линиями без "дурацких квадратиков, обозначающих точки на графиках" гораздо лучше :) А еще пару вопросов можно? как в стандартном graph: a) сдвигать значения по оси (например диапазон значений по оси y для графика от 2000000 - 2500000) хотелось бы возможность не c нуля ее рисовать ... б) выписывать не все расчетные значения по оси (ну или в инвизибл так же в цикле частично их сделать) например график строится по 300 точек ... совершенно не обязательно каждую подписывать ... достаточно через 10 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2007, 15:15 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Vadim RomanenkoPaulJB 2. Можно ли серии выделять не этими значками (см. вопрос 1), а например типами или толщиной линий ? А что значит - типами?? Вообще они выделяются цветом... Но это и так понятно... Толщину менять можно, но она кажется одна для всех... А вообще - есть набор объектов в графике xxxDispAttr, при помощи которых настраивается отображение данных как там менять толщину линий,не нашёл,пусть даже одинаково для всех !?? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 16:18 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Andreas_84, См. хелп Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
ну и далее по хелпу ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 16:29 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Вот кстати на всяк случай кусочек сырца с раскрасками Код: plaintext 1. 2. 3. 4. 5. 6.
Возможные грабли: - при добавлении серии может слетать нумерация уже добавленных серий данных - вместо добавления нулл-а, я, например, добавляю 0. Может это и неверно - тогда буду рад совету... Нулл не добавляется вроде как (ПБ 7) ПС: может еще поможет - вот таким хардКодом подготавливаю график для боль-мень некорявого отображения данных: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 16:38 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Однако спешу дать совет. Который совпадает с советом Локшина Марка 4 года назад. С небольшой конкретикой с моей стороны. 1. Бросаем ОЛЕ-объект с документом Екселя. 2. Открываем его из ПБ 3. Оставляем 3 листа в документе, или добавляем до 3-х по необходимости 4. На листе 1 - просто пустой лист с фоном (показываем его во время заполнения данными листа №2), является листом по умолчанию На листе 2 - табличка с данными: 1-я колонка - метки по оси Х, остальные колонки - соответствующие значения На листе 3 - средствами Екселя создаем график, в качестве данных принимающий значения в соотв. колонках на листе 2. При необходимости пишем набор макросов тут же (например - ОчисткаДанных, Форматирование, ПодготовкаДляПросмотра) Сохраняем и закрываем - документ Екселя по идее пристыкован к ОЛЕ-объекту на Вашей форме. Теперь все дело техники. В рантайме активируете ОЛЕ-объект, напихиваете его данными, попутно в нужных местах вызывая макросы (например, в нашем случае вначале ОчисткаДанных, потом пихаем данные на второй лист, потом вызываем Форматирование, который допиливает график на листе 3, потом - ПодготовкаДляПросмотра, где можно выставить всякие там максимальное и минимальное значения для масштабирования графика, толщину линий и проч). И вроде все. Сразу предупреждаю. Метод с Екселем более красивый, но трам-тара-рам ВБА, на котором приходится писать макросы... м-м-м... Без содрогания не вспоминаю ;) уж очень иногда неочевидно, какие свойства графика нужно использовать, чтоб все хорошо работало в рантайме (а путей для выполнения одного и того же действа, как ни странно, много). Но... Зато когда все отлажено... Никак не сравнить со стандартными возможностями графика ПБ ;) И, конечно, требует наличия установленного Офиса на компутере. Может сумбурно... За вопросами - можно и в почту. Ну и ногами просьба сильно не пинать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 16:49 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Vadim Romanenko, Ойййййй-ёйёйёйё))))По кол-ву написанного,я так понял Вас в своё время достала задача с графиками изрядно))спасибо Вадим,попробую разобраться))) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 16:58 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Andreas_84Vadim Romanenko, Ойййййй-ёйёйёйё))))По кол-ву написанного,я так понял Вас в своё время достала задача с графиками изрядно))спасибо Вадим,попробую разобраться))) Ага, это точно ;) Разбирался долго и нудно - ибо по кр мере лет 5-7 назад документации по ВБА особой-то и толковой не было - не знаю как сейчас с этим дело обстоит. Да и с графиками когда новичок - не все очевидно... Но, как говорится, упорство и труд... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 18:49 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Неплохой примерчик... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 22:00 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Самое интересное и не поместилось... Полностью здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 22:42 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
А может и ещё что-то подойдет там же . ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2009, 22:47 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
AISСамое интересное и не поместилось... Полностью здесь . что то я не могу просмотреть содержимое открываю WorkSpace,делаю add Target а он мне в ответ: Код: plaintext
У меня PB 9.0 Built 5507 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2009, 10:19 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Andreas_84что то я не могу просмотреть содержимое открываю WorkSpace,делаю add Target а он мне в ответ: Код: plaintext
У меня PB 9.0 Built 5507 Там библиотеки сделанные в 10.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2009, 17:45 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Vadim Romanenko//Убираем все лишние элементы отображения серии на графике For i = 1 to gr_graph.SeriesCount() For j = 1 to gr_graph.CategoryCount() //Убираем дурацкие квадратики, обозначающие точки на графиках gr_graph.setDataStyle(i, j, NoSymbol!) Next Next А если никаких серий нет? И в каком событии вы это делаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2009, 17:22 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
IkirVadim Romanenko//Убираем все лишние элементы отображения серии на графике For i = 1 to gr_graph.SeriesCount() For j = 1 to gr_graph.CategoryCount() //Убираем дурацкие квадратики, обозначающие точки на графиках gr_graph.setDataStyle(i, j, NoSymbol!) Next Next А если никаких серий нет? И в каком событии вы это делаете? Код: plaintext
и код приведённый выше ,пройдётся по внешнему FOR только один раз(потомучто gr_graph.SeriesCount() будет = 1) Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2009, 15:43 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Andreas_84в любом,после того как график построен,чтоб было что обрабатывать) Спасибо. На кнопке-Построить график- вот такой кусок кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
При первом нажатии функции dw_1.SeriesCount("gr_1") и dw_1.CategoryCount("gr_1") функции возвращают -1 и график выводится с квадратиками.? При повторном нажатии - видно, как квадратики убираются.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2009, 17:02 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
IkirAndreas_84в любом,после того как график построен,чтоб было что обрабатывать) Спасибо. На кнопке-Построить график- вот такой кусок кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
При первом нажатии функции dw_1.SeriesCount("gr_1") и dw_1.CategoryCount("gr_1") функции возвращают -1 и график выводится с квадратиками.? При повторном нажатии - видно, как квадратики убираются.))) Вставил я ваш кусок кода на свою кнопку,и всё происходит по одному нажатию кнопки и никаких -1 1)отрабатывает Retrieve 2) Код: plaintext
Может несоответствия по именам у вас?проверьте как у вас dw на окне(точно ли dw_1?) и как сам график называется (точно ли gr_1??) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2009, 11:01 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Да,и ещё одно,-если у вас серия одна,то в принципе должно и так работать Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2009, 11:06 |
|
Помогите с графиками ...
|
|||
---|---|---|---|
#18+
Andreas_84Да,и ещё одно,-если у вас серия одна,то в принципе должно и так работать Код: plaintext 1. 2. 3. 4. 5. 6.
ну только вместо dw_report -ваше dw_1 и вместо gr_shipsheduler - gr_1 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2009, 11:07 |
|
|
start [/forum/topic.php?fid=15&fpage=24&tid=1335882]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 479ms |
0 / 0 |