我不能够弄清楚,如何输入百分比到标签徽章像下面的图片.
我使用的是laravel的 Package 器:https://github.com/ConsoleTVs/Charts,这就是我不想让观众感到困惑的原因。
我只想知道选项的名称。
我的代码是这样的:
$perTopicChart = (new AnsweredPerTopic);//->percentageInnerCutout(70);
$perTopicChart->options([
"events" => [],
"legend" => [
"labels" => [
"defaultFontFamily" => "Tahoma",
"fontSize" => 16,
],
"position" => 'bottom'
],
"cutoutPercentage" => 80,
'tooltips' => [
"show" => true
]
])->displayAxes(0);
// put the labels (keys)
$perTopicChart->labels($keys->map(function ($q) use ($perTopic) {
$topic = Topic::find($q);
$str = $topic->name;
foreach ($perTopic as $key => $value) {
if ($key == $q) {
$str .= ' ' . round($value) . '%';
}
}
return "topic name " . '-'. $topic->id;
})->push('other'))
->options([]);
// get random color
// $color = RandomColor::many(count($keys), array(
// 'luminosity' => 'bright',
// 'hue' => ['pink', 'green', 'orange'] // e.g. 'rgb(225,200,20)'
// ));
$color = [
"#38c172",
"#9F9",
"#Fa0",
"pink",
"red",
];
$perTopicChart->dataset("Practice per Category", "doughnut", $values->map(function ($q) {
return round($q);
})->push($remainingPercenteg))
->backgroundColor($color)
->options([
'borderWidth' => 2.5,
]);
字符串
第一个图像是当前的结果,第二个是我想要的。
100d1x
的字符串
2条答案
按热度按时间zzlelutf1#
即使我研究了很多,在chartjs库中也找不到这种行为的任何东西,所以想出一个黑客。
哈克是什么样的,不要让图表js来绘制图例,相反,我们只是从图表js库中获取图例的HTML,并把它放在我们的容器中.通过这样做,我们有充分的图例访问,我们可以做任何我们想要的.
https://jsfiddle.net/1kxenzpr/
zqdjd7g92#
不行(通过设置X或Y),应该使用
legendCallback
:https://www.chartjs.org/docs/latest/configuration/legend.html#html-legends无论如何,这是+-想法(通过基本JS转换为%)。要向前迈出这一步,您应该生成完整生成HTML图例(将数字放入颜色div中)。相关:Custom Legend with ChartJS v2.0
个字符