|
Как по горизонтали расположить 2 графика
|
|||
---|---|---|---|
#18+
Как в %ZEN.Report (при генерации отчётов) расположить два графика по горизонтали рядом (один слева, второй справа). Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
То есть на странице графики можно группировать как душе угодно, хоть в шахматном порядке, хоть по группам, хоть по размеру, хоть по диагонали. Мы можем задавать отступы слева, сверху, группировать графики по горизонтали или по вертикали. Второй день ищу - примеров явно мало, а то что есть только один график (нет двух по горизонтали одновременно). Пытался с фреймами, блоками, группами - везде пишет ошибку. Фантазия иссякла. Помощь по документации - отсутствует (анализировал все ключевые слова с словосочетания, которые хоть как то могут повлиять на расположение графиков на странице). P.S. - очень убивает когда нужно расположить один длинный график и два коротких, приходится делать все столбиком, что не информативно. . ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2015, 09:57 |
|
Как по горизонтали расположить 2 графика
|
|||
---|---|---|---|
#18+
Вот что можно сделать при выводе графиков через ZEN, как cls (Extends %ZEN.Component.abstractPage). По горизонтали два-три графика. . Как то же самое сделать в Zen Отчёте [%ZEN.Report.reportPage] (расположить два-три графика по горизонтали) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2015, 08:37 |
|
Как по горизонтали расположить 2 графика
|
|||
---|---|---|---|
#18+
О-О-О , Например, так:Class RobotGrafiki4.kakPDF Extends %ZEN.Report.reportPage { /// This is the default display mode for this report. Parameter DEFAULTMODE = "pdf"; /// This XML defines the logical contents of this report. XData ReportDefinition [ XMLNamespace = " http://www.intersystems.com/zen/report/definition" ] { <report xmlns=" http://www.intersystems.com/zen/report/definition" name="test" runonce="true"> <!-- dummy ReportDefinition, all data is gotten from callback methods ongetXXX --> </report> } /// This XML defines the display for this report. /// This is used to generate the XSLT stylesheets for both HTML and XSL-FO. XData ReportDisplay [ XMLNamespace = " http://www.intersystems.com/zen/report/display" ] { <report xmlns=" http://www.intersystems.com/zen/report/display" name="test"> <document width="355mm" height="269mm" marginLeft="5" marginRight="5" marginTop="0" marginBottom="0" headerHeight="0" /> <body> <table orient="col" xslfostyle="margin:10px 0 0 10px"> <ccomboChart id="d1" title=" " titleX="46" titleY="5" titleStyle="font-size: 9px; fill:#929292;" width="300" height="245" legendVisible="false" backgroundStyle="fill:#DCDCDC;" plotAreaStyle="fill:#F9FAFB;" seriesColors="#FF0000,#22B14C,#262728,#D2D2D2" seriesCount="4" seriesSize="521" seriesTypes="line,line,line,area" lineStyle="stroke-width:1px;" ongetData="getChartData" plotStyle="stroke-width: 0.25; fill-opacity: 1;" markerScale="0" marginRight="10" marginBottom="1" marginLeft="1" marginTop="10"> <xAxis id="xAxis" labelStyle="font-size: 8px; " majorGridLines="true" majorGridStyle="stroke-width: 1px; color:#EEEEEE; opacity: 0.2;" majorUnits="60" minorGridLines="true" minorGridStyle="stroke-width:0.1; color:#EEEEEE;" minorUnits="15" minValue="0" baseValue="0" maxValue="530" /> <yAxis id="yAxis" labelAngle="45" labelStyle="font-size: 10px; font-family: Arial Narrow; fill:#222222;" labelPosition="right" majorUnits="50" majorGridLines="true" majorGridStyle="stroke-width: 1px; color:rgb(255,0,255); opacity: 0.2;" minorGridLines="false" minValue="7060" baseValue="0" maxValue="7330" /> </ccomboChart> <line pattern="empty" width="5px"/> <clineChart id="d2" title=" " titleX="40" titleY="5" titleStyle="font-size: 10px; fill:#929292;" width="300" height="255" legendVisible="false" backgroundStyle="fill:#DCDCDC;" plotAreaStyle="fill:#F3F3F3;" seriesColors="#5CAADE,#2424E0,#DD8282,#E00000,#A3A3A3,#515151" seriesCount="4" seriesSize="521" ongetData="getChartData2" ongetLabelY="dd" lineStyle="stroke-width:1px;" plotStyle="stroke-width: 0.3; fill-opacity: 1;" markerScale="0" marginRight="10" marginBottom="1" marginLeft="1" marginTop="10"> <xAxis labelStyle="font-size: 8px; " majorGridLines="true" majorGridStyle="stroke-width: 1px; color:rgb(255,0,255); opacity: 0.2;" majorUnits="60" minorGridLines="true" minorGridStyle="stroke-width: 0.1; color: #EEEEEE;" minorUnits="15" minValue="0" baseValue="0" maxValue="530" /> <yAxis labelAngle="45" labelStyle="font-size: 10px; font-family: Arial Narrow; fill:#555555;" labelPosition="right" majorUnits="0.100" majorGridLines="true" majorGridStyle="stroke-width: 1px; color:rgb(255,0,255); opacity: 0.2;" minorGridLines="true" minorGridStyle="stroke-width: 0.1; color: #E0FFFF;" minorUnits="0.050" minValue="" baseValue="0" maxValue="" /> </clineChart> <line pattern="empty" width="5px"/> <clineChart id="d3" title=" " titleX="40" titleY="6" titleStyle="font-size: 10px; fill:#929292;" width="300" height="245" legendVisible="false" backgroundStyle="fill:#DCDCDC;" plotAreaStyle="fill:#F3F3F3;" seriesColors="#DD8282,#E00000,#A3A3A3,#515151,#FFC90E,#5CAADE,#2424E0,#FFC90E" seriesCount="4" seriesSize="521" ongetData="getChartData3" ongetLabelY="dd" valueLabelFormat="#.##" lineStyle="stroke-width:1px;" plotStyle="stroke-width: 0.3; fill-opacity: 1;" markerScale="0" marginRight="10" marginBottom="1" marginLeft="1" marginTop="10"> <xAxis labelStyle="font-size: 8px; " majorGridLines="true" majorGridStyle="stroke-width: 1px; color:rgb(255,0,255); opacity: 0.2;" majorUnits="60" minorGridLines="true" minorGridStyle="stroke-width: 0.1; color: #EEEEEE;" minorUnits="15" minValue="0" baseValue="0" maxValue="521" /> <yAxis labelAngle="45" labelStyle="font-size: 10px; font-family: Arial Narrow; fill:#444444;" majorGridLines="true" majorGridStyle="stroke-width: 1px; color:rgb(255,0,255); opacity: 0.2;" labelUnits="0.400" majorUnits="0.400" labelPosition="right" minorGridLines="true" minorGridStyle="stroke-width: 0.1; color: #E0FFFF;" minorUnits="0.200" minValue="" baseValue="0" maxValue="" /> </clineChart> </table> </body> </report> } /// Get chart data Method getChartData( ByRef data, chartObject) { Set data(0,0)="" Set data(1,0)="" Set data(2,0)="" Set data(3,0)="" For i=1:1:520 { Set data(0,i)="" Set data(1,i)=7070+$Random(20) Set data(2,i)=7195+$Random(70) Set data(3,i)=7280+$Random(40) } } Method getChartData2( ByRef data, chartObject) { Set data(0,0)="" Set data(1,0)="" Set data(2,0)="" Set data(3,0)="" For i=1:1:520 { Set data(0,i)=0.100 Set data(1,i)=0.180 Set data(2,i)=0.120 Set data(3,i)=0.150 } } Method getChartData3( ByRef data, chartObject) { Set data(0,0)="" Set data(1,0)="" Set data(2,0)="" Set data(3,0)="" For i=1:1:520 { Set data(0,i)=($Random(3))/12+0.350 Set data(1,i)=($Random(4))/16+0.420 Set data(2,i)=($Random(5))/20+0.280 Set data(3,i)=($Random(4))/16+0.240 } } Method dd( value, yAxisNo, chartObject) { s format=chartObject.valueLabelFormat s format=$s(format'="" : format, 1 : $s(($$$FLOOR(value)'=value):"#,#.###", 1:"#,##")) q ##class(%DeepSee.ResultSet).%FormatNumber(value,format) } } ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2015, 13:31 |
|
Как по горизонтали расположить 2 графика
|
|||
---|---|---|---|
#18+
servit, Спасибо. Значит делаем через таблицы. Для остальных немножко расшифрую, можно выделить только нужное количество графиков и перед этой группой поместить<table orient="col" xslfostyle="margin:10px 0 0 10px"> а закрываем группу графиков как </table>В итоге у нас будут графики внутри невидимой таблицы. Servit, ещё раз спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2015, 14:03 |
|
|
start [/forum/topic.php?fid=39&msg=39026280&tid=1556604]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 411ms |
0 / 0 |