gpt4 book ai didi

javascript - 使用 Google Chart API 强制注释出现在堆叠条形图中

转载 作者:行者123 更新时间:2023-11-28 03:08:44 25 4
gpt4 key购买 nike

我有一个堆积条形图,我需要在条形内部注释条形。

我成功地注释了条形图,但它出现在外面。

如何强制在栏中使用对比色注释。我也使用了这个类,但不幸的是没有 annotations.alwaysOutside

<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
google.charts.load("current", {
packages: ["corechart"]
});
google.charts.setOnLoadCallback(drawChart);


var bar_chart_data = [
["Material", "Cost", "Profit", {
"role": "style"
}, {
"role": "style"
}],
["A", 235.53, 117.765, "color: blue", "color: red"],
["B", 35.28, 14.8176, "color: blue", "color: red"],
["C", 495, 207.9, "color: blue", "color: red"],
["D", 44.52, 18.6984, "color: blue", "color: red"],
["E", 69.56, 29.2152, "color: blue", "color: red"],
["F", 4.5, 1.89, "color: blue", "color: red"],
["G", 16.62, 6.9804, "color: blue", "color: red"],
["H", 74.88, 31.449599999999997, "color: blue", "color: red"],
["I", 21.2, 8.904, "color: blue", "color: red"],
["J", 4.8, 2.016, "color: blue", "color: red"],
["K", 400, 168, "color: blue", "color: red"],
["L", 4.88, 2.0496, "color: blue", "color: red"],
["M", 45, 18.9, "color: blue", "color: red"],
["N", 0, 0, "color: blue", "color: red"],
["O", 9, 3.78, "color: blue", "color: red"],
["P", 4, 1.68, "color: blue", "color: red"],
["Q", 4.16, 1.7472, "color: blue", "color: red"]
]
function drawChart() {
var data = google.visualization.arrayToDataTable(bar_chart_data);
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, {
calc: "stringify",
sourceColumn: 1,
type: "string",
role: "annotation"
}, 3, // <-- include style column
2, {
calc: "stringify",
sourceColumn: 2,
type: "string",
role: "annotation"
}, 4 // <-- include style column
]);


var options = {
title: "Live individual material cost break-up (%)",
width: 600,
height: 400,
bar: {
groupWidth: "95%"
},
legend: {
position: "none"
},
isStacked: 'percent',
hAxis: {
textStyle: {
fontSize: 8,
fontName: 'Muli',
bold: false,
},
},

vAxis: {
textStyle: {
fontSize: 10,
bold: false
},
},

};

var chart = new google.visualization.BarChart(document.getElementById("material_bar_chart"));
chart.draw(view, options);
}

</script>
<style>
.ignore-css{all:unset;}
</style>
</head>
<body>
<div class="ignore-css" id="material_bar_chart" style="width: 900px; height: 500px;"></div>
</body>
</html>

最佳答案

正如您所指出的,没有“始终在内部”的选项。
图表通常会默认在里面放置注释,
只要有足够的空间。

在这种情况下,我相信它们没有出现在里面的原因,
是因为字体太大了。

由于轴上的字体已缩小,
减少注释的字体,
允许将它们绘制在条形内部。

    annotations: {
textStyle: {
fontSize: 8,
fontName: 'Muli',
bold: false,
},
},

请参阅以下工作片段...

<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
google.charts.load("current", {
packages: ["corechart"]
});
google.charts.setOnLoadCallback(drawChart);


var bar_chart_data = [
["Material", "Cost", "Profit", {
"role": "style"
}, {
"role": "style"
}],
["A", 235.53, 117.765, "color: blue", "color: red"],
["B", 35.28, 14.8176, "color: blue", "color: red"],
["C", 495, 207.9, "color: blue", "color: red"],
["D", 44.52, 18.6984, "color: blue", "color: red"],
["E", 69.56, 29.2152, "color: blue", "color: red"],
["F", 4.5, 1.89, "color: blue", "color: red"],
["G", 16.62, 6.9804, "color: blue", "color: red"],
["H", 74.88, 31.449599999999997, "color: blue", "color: red"],
["I", 21.2, 8.904, "color: blue", "color: red"],
["J", 4.8, 2.016, "color: blue", "color: red"],
["K", 400, 168, "color: blue", "color: red"],
["L", 4.88, 2.0496, "color: blue", "color: red"],
["M", 45, 18.9, "color: blue", "color: red"],
["N", 0, 0, "color: blue", "color: red"],
["O", 9, 3.78, "color: blue", "color: red"],
["P", 4, 1.68, "color: blue", "color: red"],
["Q", 4.16, 1.7472, "color: blue", "color: red"]
]
function drawChart() {
var data = google.visualization.arrayToDataTable(bar_chart_data);
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, {
calc: "stringify",
sourceColumn: 1,
type: "string",
role: "annotation"
}, 3, // <-- include style column
2, {
calc: "stringify",
sourceColumn: 2,
type: "string",
role: "annotation"
}, 4 // <-- include style column
]);


var options = {
title: "Live individual material cost break-up (%)",
width: 600,
height: 400,
bar: {
groupWidth: "95%"
},
legend: {
position: "none"
},
isStacked: 'percent',
annotations: {
textStyle: {
fontSize: 8,
fontName: 'Muli',
bold: false,
},
},
hAxis: {
textStyle: {
fontSize: 8,
fontName: 'Muli',
bold: false,
},
},

vAxis: {
textStyle: {
fontSize: 10,
bold: false
},
},

};

var chart = new google.visualization.BarChart(document.getElementById("material_bar_chart"));
chart.draw(view, options);
}

</script>
<style>
.ignore-css{all:unset;}
</style>
</head>
<body>
<div class="ignore-css" id="material_bar_chart" style="width: 900px; height: 500px;"></div>
</body>
</html>

关于javascript - 使用 Google Chart API 强制注释出现在堆叠条形图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60358751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com