不用matplotlib库 使用visualize.jQuery.js 将柱状图的数据显示在柱状图上
时间: 2024-03-11 10:49:45 浏览: 72
如果你使用的是JavaScript,可以使用visualize.jQuery.js库来绘制柱状图并在柱子上显示数字。以下是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Bar chart with data labels using visualize.jQuery.js</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://www.visualizecdn.com/lib/visualize/2.0.3/js/visualize.jQuery.js"></script>
<link href="https://www.visualizecdn.com/lib/visualize/2.0.3/css/visualize.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table id="mytable">
<thead>
<tr>
<th>X-axis</th>
<th>Y-axis</th>
</tr>
</thead>
<tbody>
<tr>
<td>Item 1</td>
<td>10</td>
</tr>
<tr>
<td>Item 2</td>
<td>8</td>
</tr>
<tr>
<td>Item 3</td>
<td>6</td>
</tr>
<tr>
<td>Item 4</td>
<td>4</td>
</tr>
<tr>
<td>Item 5</td>
<td>2</td>
</tr>
</tbody>
</table>
<div id="mychart"></div>
<script>
$(document).ready(function() {
// convert table to chart
$('#mytable').visualize({
type: 'bar',
width: '500px',
height: '300px',
colors: ['#3399CC'],
appendTitle: true,
title: 'Bar chart with data labels'
});
// add data labels for each bar
$('#mychart .visualize-chart rect').each(function(i) {
var x = $(this).attr('x');
var y = $(this).attr('y');
var height = $(this).attr('height');
var value = $('#mytable tr').eq(i+1).find('td').eq(1).text();
$('#mychart .visualize-chart').append('<text x="' + (parseFloat(x) + parseFloat(height)/2) + '" y="' + (parseFloat(y) - 5) + '" text-anchor="middle" font-size="12">' + value + '</text>');
});
});
</script>
</body>
</html>
```
在这个示例中,我们首先在HTML中定义了一个包含数据的表格,然后使用visualize.jQuery.js库将其转换为柱状图。然后,我们使用jQuery选择器在柱状图上循环遍历每个柱子,并使用.attr()函数获取其x、y、和height值。最后,我们在每个柱子上添加一个文本元素,其中文本内容是表格中对应的y值。
你可以将上述示例代码复制到一个HTML文件中,然后运行代码即可得到带有数据标签的柱状图。请注意,你需要在HTML文件中引入jQuery和visualize.jQuery.js库,并将示例代码中的表格ID和柱状图容器ID替换为你自己的ID。
阅读全文