在 jpgraph PiePlot 中显示百分比和绝对值
Displaying Percentage and Absolute value in jpgraph PiePlot
我使用 JPGraph 创建了一个基本的 PiePlot 图表,我希望将绝对值与百分比一起显示。我看到一个实际上允许单独更改值的弃用函数,但我还没有找到适合我需要的解决方案。
The documentation mentions a deprecated function that may have been what I needed.
我试过在显示图例后调用 SetLabelType(),但它仍然影响所有值。
<?php
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_pie.php');
require_once ('jpgraph/jpgraph_pie3d.php');
$data_json = '{"product_a":2,"product_b":3,"product_c":1,"product_d":1}';
$data_json = json_decode($data_json,true);
$products = [];
$products_clicks = [];
foreach($data_json as $product => $clicks) {
$products[] = $product." (%.1f%%)";
$products_clicks[] = $clicks;
}
$graph = new PieGraph(500,250,'auto');
$theme_class = new VividTheme;
$graph->SetTheme($theme_class);
$graph->title->Set("Product Clicks");
$graph->SetBox(false);
$graph->SetMargin(40,40,40,70);
$p1 = new PiePlot3D($products_clicks);
$graph->Add($p1);
$p1->ShowBorder();
$p1->SetColor('black');
$p1->SetLabelType(PIE_VALUE_PER);
$p1->SetLegends($products);
$p1->SetTheme("sand");
$p1->SetAngle(25);
$graph->Stroke();
虽然将 SetLabelType() 设置为 PIE_VALUE_PER 显示百分比,但它在饼图和图例上都显示百分比。
我想要在 Legend 中显示绝对值,在 PiePlot 中显示百分比。
如果有人曾经以这种方式处理图书馆,请给我一个例子,说明我应该如何解决我遇到的这个问题。
改变
$p1->SetLegends($products);
至
$p1->SetLegends($products_clicks);
这将在图例中显示实际点击次数,并在图表本身上保留百分比。
我使用 JPGraph 创建了一个基本的 PiePlot 图表,我希望将绝对值与百分比一起显示。我看到一个实际上允许单独更改值的弃用函数,但我还没有找到适合我需要的解决方案。
The documentation mentions a deprecated function that may have been what I needed.
我试过在显示图例后调用 SetLabelType(),但它仍然影响所有值。
<?php
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_pie.php');
require_once ('jpgraph/jpgraph_pie3d.php');
$data_json = '{"product_a":2,"product_b":3,"product_c":1,"product_d":1}';
$data_json = json_decode($data_json,true);
$products = [];
$products_clicks = [];
foreach($data_json as $product => $clicks) {
$products[] = $product." (%.1f%%)";
$products_clicks[] = $clicks;
}
$graph = new PieGraph(500,250,'auto');
$theme_class = new VividTheme;
$graph->SetTheme($theme_class);
$graph->title->Set("Product Clicks");
$graph->SetBox(false);
$graph->SetMargin(40,40,40,70);
$p1 = new PiePlot3D($products_clicks);
$graph->Add($p1);
$p1->ShowBorder();
$p1->SetColor('black');
$p1->SetLabelType(PIE_VALUE_PER);
$p1->SetLegends($products);
$p1->SetTheme("sand");
$p1->SetAngle(25);
$graph->Stroke();
虽然将 SetLabelType() 设置为 PIE_VALUE_PER 显示百分比,但它在饼图和图例上都显示百分比。
我想要在 Legend 中显示绝对值,在 PiePlot 中显示百分比。
如果有人曾经以这种方式处理图书馆,请给我一个例子,说明我应该如何解决我遇到的这个问题。
改变
$p1->SetLegends($products);
至
$p1->SetLegends($products_clicks);
这将在图例中显示实际点击次数,并在图表本身上保留百分比。