Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does it take for .ticks() to work?

Tags:

d3.js

.ticks() doesn't seem to be working on my bar chart. Can somebody take a look?

Here's the fiddle. I set ticks on the x-axis near the beginning of the object:

xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(3),
like image 912
Sam Selikoff Avatar asked Apr 04 '13 18:04

Sam Selikoff


2 Answers

I don't have enough reputation to add a comment to that first post but I think there is a misunderstanding.

The labels on the axis must be a multiple of 2, 5, or 10. The ticks function can take any number but it will modify that number to make sure the axis is a multiple of 2, 5, or 10.

For example, if the domain is 0-100 and you want 4 ticks (0, 33.33, 66.66, 100) it will round up to 6 to give you "pretty" numbers (0, 20, 40, 60, 80, 100). However, if you set ticks to 3 it will honor that and you'll have 0, 50, and 100.

Here's a post with Mike's explanation of this behavior.

It is still unclear to me why it won't count 0, 25, 50, 75, 100 if you set the ticks to 5 but I thought I'd try to clear up at least some of the confusion.

like image 65
Ally Avatar answered Oct 04 '22 02:10

Ally


ticks can take only multiple of 2,5,10 not any number . That is why you might be having problem . Please take a look at this answer for custom ticks.link

like image 25
Adithya Avatar answered Oct 04 '22 02:10

Adithya