mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-23 13:54:26 +02:00
Ensure that PieCharts are centered and that labels dont leave the viewBox
Add scaling and transformations to move the PieChart into a valid coordinate system and reduce the offset of the labels to make more efficient use of available space.
This commit is contained in:
parent
c5cface661
commit
00a2d225a2
@ -122,7 +122,7 @@ class PieChart extends Chart
|
|||||||
*/
|
*/
|
||||||
public function toSvg(RenderContext $ctx)
|
public function toSvg(RenderContext $ctx)
|
||||||
{
|
{
|
||||||
$outerBox = new Canvas('outerGraph', new LayoutBox(0, 0, 100, 100));
|
$outerBox = new Canvas('outerGraph', new LayoutBox(33, -5, 40, 40));
|
||||||
$innerBox = new Canvas('graph', new LayoutBox(0, 0, 100, 100));
|
$innerBox = new Canvas('graph', new LayoutBox(0, 0, 100, 100));
|
||||||
$labelBox = $ctx->getDocument()->createElement('g');
|
$labelBox = $ctx->getDocument()->createElement('g');
|
||||||
if (!$this->noCaption) {
|
if (!$this->noCaption) {
|
||||||
|
@ -159,7 +159,7 @@ class PieSlice extends Animatable implements Drawable
|
|||||||
// Draw the handle
|
// Draw the handle
|
||||||
$path = new Path(array($midX, $midY));
|
$path = new Path(array($midX, $midY));
|
||||||
|
|
||||||
$midX += ($addOffset + $r/1.8) * ($midRadius > M_PI ? -1 : 1);
|
$midX += ($addOffset + $r/3) * ($midRadius > M_PI ? -1 : 1);
|
||||||
$path->append(array($midX, $midY))->toAbsolute();
|
$path->append(array($midX, $midY))->toAbsolute();
|
||||||
|
|
||||||
$midX += intval($r/2 * sin(M_PI/9)) * ($midRadius > M_PI ? -1 : 1);
|
$midX += intval($r/2 * sin(M_PI/9)) * ($midRadius > M_PI ? -1 : 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user