gpt4 book ai didi

javascript - Dimple.js - 为条形图的每个条添加数据标签

转载 作者:行者123 更新时间:2023-11-29 18:21:14 44 4
gpt4 key购买 nike

我正在使用基于 d3.js 的 dimple.js。是否可以将数据标签添加到此示例中提到的条形图的每个条形 http://dimplejs.org/examples_viewer.html?id=bars_vertical

<div id="chartContainer">
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://dimplejs.org/dist/dimple.v1.min.js"></script>
<script type="text/javascript">
var svg = dimple.newSvg("#chartContainer", 590, 400);
d3.tsv("/data/example_data.tsv", function (data) {
var myChart = new dimple.chart(svg, data);
myChart.setBounds(60, 30, 510, 305)
var x = myChart.addCategoryAxis("x", "Month");
x.addOrderRule("Date");
myChart.addMeasureAxis("y", "Unit Sales");
myChart.addSeries(null, dimple.plot.bar);
myChart.draw();
});
</script>
</div>

喜欢在 http://mbostock.github.io/d3/tutorial/bar-1.html 上添加

最佳答案

是的,这是很有可能的。

在 Dimple.js 网站的“高级栏标签”部分,他们展示了一个示例。 Click here去看看。

我使用相同的技术将条形标签添加到您发布的代码段中。

注意:我保留了几乎相同的注释,这样您就可以了解代码中发生了什么。此外,出于测试目的,我更改了图表的大小。

试试这个:

<div id="chartContainer">
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://dimplejs.org/dist/dimple.v1.min.js"></script>
<script type="text/javascript">
var svg = dimple.newSvg("#chartContainer", 1100, 600);
d3.tsv("/example_data.tsv", function(data) {
var myChart = new dimple.chart(svg, data);
myChart.setBounds(60, 30, 900, 400)
var x = myChart.addCategoryAxis("x", "Month");
x.addOrderRule("Date");
var y = myChart.addMeasureAxis("y", "Unit Sales");
var s = myChart.addSeries("Sales", dimple.plot.bar);
myChart.draw();

// After drawing we can access the shapes and their associated data
// to add labels.
s.shapes.each(function(d) {

// Get the shape as a d3 selection
var shape = d3.select(this),

// Get the height and width from the scales
height = myChart.y + myChart.height - y._scale(d.height);
width = x._scale(d.width);

// Add a text label for the value
svg.append("text")

// Position in the centre of the shape (vertical position is
// manually set due to cross-browser problems with baseline)
.attr("x", parseFloat(shape.attr("x")) + width / 2 - 15)
.attr("y", parseFloat(shape.attr("y")) - height / 2)

// Centre align
.style("text-anchor", "middle")
.style("font-size", "10px")
.style("font-family", "sans-serif")

// Make it a little transparent to tone down the black
.style("opacity", 0.7)

// Format the number
.text(d3.format(",.1f")(d.yValue / 1000) + "k");
});
});
</script>

希望这对您有所帮助!

关于javascript - Dimple.js - 为条形图的每个条添加数据标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18558045/

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