Skip to content

Commit

Permalink
domain setting in size.coffee
Browse files Browse the repository at this point in the history
  • Loading branch information
bryanph committed May 24, 2016
1 parent 29a4c8e commit 5a6779f
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 14 deletions.
22 changes: 15 additions & 7 deletions src/viz/methods/size.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,21 @@ module.exports =
scale:
accepted: [Function]
deprecates: "size_scale"
max:
accepted: [Function, Number]
value: (vars) ->
Math.floor d3.max [d3.min([vars.width.viz,vars.height.viz])/15, 6]
min:
accepted: [Function, Number]
value: 3
domain:
min:
accepted: [false, Number]
value: false
max:
accepted: [false, Number]
value: false
range:
max:
accepted: [Function, Number]
value: (vars) ->
Math.floor d3.max [d3.min([vars.width.viz,vars.height.viz])/15, 6]
min:
accepted: [Function, Number]
value: 3
value: d3.scale.sqrt()
solo: filter(true)
threshold:
Expand Down
21 changes: 16 additions & 5 deletions src/viz/types/bubbles.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,21 @@ bubbles = (vars) ->

# Define size scale
if vars.size.value
domainMin = d3.min vars.data.viz, (d) ->
fetchValue vars, d, vars.size.value, vars.id.value, "min"
domainMax = d3.max vars.data.viz, (d) ->
fetchValue vars, d, vars.size.value, vars.id.value
userDomainMin = vars.size.scale.domain.min.value
userDomainMax = vars.size.scale.domain.max.value

if typeof userDomainMin is 'number'
domainMin = userDomainMin
else
domainMin = d3.min vars.data.viz, (d) ->
fetchValue vars, d, vars.size.value, vars.id.value, "min"

if typeof userDomainMax is 'number'
domainMax = userDomainMax
else
domainMax = d3.max vars.data.viz, (d) ->
fetchValue vars, d, vars.size.value, vars.id.value

domain = [domainMin, domainMax]
else
domain = [0, 0]
Expand All @@ -39,7 +50,7 @@ bubbles = (vars) ->
size_max = (d3.min([column_width, column_height]) / 2) - (padding * 2)
labelHeight = if vars.labels.value and not vars.small and size_max >= 40 then d3.max([20, d3.min [size_max * 0.25, 50]]) else 0
size_max -= labelHeight
size_min = d3.min [size_max, vars.size.scale.min.value]
size_min = d3.min [size_max, vars.size.scale.range.min.value]

size = vars.size.scale.value
.domain domain
Expand Down
4 changes: 2 additions & 2 deletions src/viz/types/helpers/graph/includes/axes.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,9 @@ sizeScale = (vars, value) ->
value = "size" if value is true
value = vars[value].value if value of vars

min = vars.size.scale.min.value
min = vars.size.scale.range.min.value
min = min vars if typeof min is "function"
max = vars.size.scale.max.value
max = vars.size.scale.range.max.value
max = max vars if typeof max is "function"

if value is false
Expand Down

0 comments on commit 5a6779f

Please sign in to comment.