我在d3.js中生成了一些图表。我使用下面的代码来计算要放在y轴上的值,这就像一个符号式的工作。
var s = d3.scale.linear().domain([minValue, maxValue]);
var ticks = s.nice().ticks(numberOfPoints);
但是,我现在必须使用pycairo编写python代码,它会在服务器端生成d3.js图表的克隆。
我的问题是,有没有人知道上面代码中使用的逻辑,或者可以给出类似结果的东西,以便我可以在python中复制它,以获得在y轴上使用的好值?
我已经浏览了d3.js站点上的所有图表示例,但它太复杂了,难以理解。我想要的是绘制x轴和y轴,并绘制一个json数据,如下所示
{count:100,year:1999}
{count:240,year:2010}
{count:290,year:2009}
Count on x轴和year on y axis.Can任何人都可以提供一个简单的示例来开始使用。
我正在使用d3.js创建一个条形图,并且遇到了轴功能上的一个障碍。对于下面的代码,生成的轴显示值0、2、4、6和8并重复它们。我希望它只显示值0和2,因为它们是域中唯一的2。
以下是仅与轴相关的代码:
// this yScale domain is [0, 2], and the range is like [300, 3] or thereabouts
var yScale = d3.scale.linear().domain([0, maxValue]).range([height, margin.bottom]);
// Draw a Y axis
var yAxis = d3.svg
我需要将y轴值显示为60,120,180...or 200,400,600...
目前我的y轴显示为100,200,300..
我的测试代码- d3图库代码..
HTML
<!-- Load d3.js -->
<script src="https://d3js.org/d3.v4.js"></script>
<!-- Create a div where the graph will take place -->
<div id="my_dataviz"></div>
Javascrip
我试图用d3.js创建一个单词/标签云,其中y轴由数据变量控制,而不是像普通的单词/标签云那样随机放置。所以我并不介意文本在x轴上的位置,但我确实想要控制它在y轴上的位置。
我的方法是使用x属性函数为每个数据添加一个文本元素,如下所示:
.attr("x", function(d,i) {
loop 10 times
generate random x
loop through previous added element <i to check for collision
no collision exit loo