Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
c3-closed
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
charts
c3-closed
Commits
f9f0ece1
Commit
f9f0ece1
authored
Oct 11, 2016
by
Дмитрий Никулин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tick culling: depend on tick width
parent
4caef74d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
14 deletions
+24
-14
c3.js
c3.js
+12
-7
c3.min.js
c3.min.js
+0
-0
c3.axis.js
src/c3.axis.js
+12
-7
No files found.
c3.js
View file @
f9f0ece1
...
...
@@ -8401,7 +8401,9 @@
var
start
=
domain
[
0
],
stop
=
domain
[
domain
.
length
-
1
];
return
start
<
stop
?
[
start
,
stop
]
:
[
stop
,
start
];
}
function
shouldDrawTickText
(
id
){
function
shouldDrawTickText
(
id
,
m
){
// Multiplier to handle long tick texts
m
=
m
||
1
;
var
heightLimits
=
[
// Left is width, right is n
// Every nth tick will be shown
...
...
@@ -8415,8 +8417,8 @@
// Left is width, right is n
// Every nth tick will be show
[
-
Infinity
],
[
10
0
,
6
],
[
20
0
,
4
],
[
7
0
,
6
],
[
14
0
,
4
],
[
300
,
2
],
[
Infinity
,
1
]
];
...
...
@@ -8424,7 +8426,7 @@
var
size
=
$$
.
config
.
axis_rotated
?
$$
.
currentWidth
:
$$
.
currentHeight
;
var
sizeLimits
=
$$
.
config
.
axis_rotated
?
widthLimits
:
heightLimits
;
for
(
var
i
=
sizeLimits
.
length
-
1
;
i
--
;
){
if
(
size
>
sizeLimits
[
i
][
0
])
{
if
(
size
>
sizeLimits
[
i
][
0
]
*
m
)
{
divisor
=
sizeLimits
[
i
+
1
][
1
];
break
;
}
...
...
@@ -8575,21 +8577,24 @@
text
=
tick
.
select
(
"text"
);
text
.
style
(
'display'
,
function
(
d
,
i
){
return
shouldDrawTickText
(
i
-
indexOfZero
)
?
'block'
:
'none'
;
});
var
maxTickLength
=
1
;
tspan
=
text
.
selectAll
(
'tspan'
)
.
data
(
function
(
d
,
i
)
{
var
splitted
=
params
.
tickMultiline
?
splitTickText
(
d
,
params
.
tickWidth
)
:
[].
concat
(
textFormatted
(
d
));
counts
[
i
]
=
splitted
.
length
;
return
splitted
.
map
(
function
(
s
)
{
maxTickLength
=
Math
.
max
(
maxTickLength
,
s
.
length
);
return
{
index
:
i
,
splitted
:
String
(
s
)
};
});
});
tspan
.
enter
().
append
(
'tspan'
);
tspan
.
exit
().
remove
();
text
.
style
(
'display'
,
function
(
d
,
i
){
return
shouldDrawTickText
(
i
-
indexOfZero
,
$$
.
config
.
axis_rotated
?
maxTickLength
:
1
)
?
'block'
:
'none'
;
});
var
fontSize
=
parseFloat
(
getStyleValue
(
$$
,
'.c3-axis-y .tick'
,
'font-size'
));
var
axisId
=
$$
.
isXAxis
(
orient
)
?
'x'
:
'y'
;
...
...
c3.min.js
View file @
f9f0ece1
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/c3.axis.js
View file @
f9f0ece1
...
...
@@ -34,7 +34,9 @@ function c3_axis(d3, params, $$) {
var
start
=
domain
[
0
],
stop
=
domain
[
domain
.
length
-
1
];
return
start
<
stop
?
[
start
,
stop
]
:
[
stop
,
start
];
}
function
shouldDrawTickText
(
id
){
function
shouldDrawTickText
(
id
,
m
){
// Multiplier to handle long tick texts
m
=
m
||
1
;
var
heightLimits
=
[
// Left is width, right is n
// Every nth tick will be shown
...
...
@@ -48,8 +50,8 @@ function c3_axis(d3, params, $$) {
// Left is width, right is n
// Every nth tick will be show
[
-
Infinity
],
[
10
0
,
6
],
[
20
0
,
4
],
[
7
0
,
6
],
[
14
0
,
4
],
[
300
,
2
],
[
Infinity
,
1
]
];
...
...
@@ -57,7 +59,7 @@ function c3_axis(d3, params, $$) {
var
size
=
$$
.
config
.
axis_rotated
?
$$
.
currentWidth
:
$$
.
currentHeight
;
var
sizeLimits
=
$$
.
config
.
axis_rotated
?
widthLimits
:
heightLimits
;
for
(
var
i
=
sizeLimits
.
length
-
1
;
i
--
;
){
if
(
size
>
sizeLimits
[
i
][
0
])
{
if
(
size
>
sizeLimits
[
i
][
0
]
*
m
)
{
divisor
=
sizeLimits
[
i
+
1
][
1
];
break
;
}
...
...
@@ -208,21 +210,24 @@ function c3_axis(d3, params, $$) {
text
=
tick
.
select
(
"text"
);
text
.
style
(
'display'
,
function
(
d
,
i
){
return
shouldDrawTickText
(
i
-
indexOfZero
)
?
'block'
:
'none'
;
});
var
maxTickLength
=
1
;
tspan
=
text
.
selectAll
(
'tspan'
)
.
data
(
function
(
d
,
i
)
{
var
splitted
=
params
.
tickMultiline
?
splitTickText
(
d
,
params
.
tickWidth
)
:
[].
concat
(
textFormatted
(
d
));
counts
[
i
]
=
splitted
.
length
;
return
splitted
.
map
(
function
(
s
)
{
maxTickLength
=
Math
.
max
(
maxTickLength
,
s
.
length
);
return
{
index
:
i
,
splitted
:
String
(
s
)
};
});
});
tspan
.
enter
().
append
(
'tspan'
);
tspan
.
exit
().
remove
();
text
.
style
(
'display'
,
function
(
d
,
i
){
return
shouldDrawTickText
(
i
-
indexOfZero
,
$$
.
config
.
axis_rotated
?
maxTickLength
:
1
)
?
'block'
:
'none'
;
});
var
fontSize
=
parseFloat
(
getStyleValue
(
$$
,
'.c3-axis-y .tick'
,
'font-size'
));
var
axisId
=
$$
.
isXAxis
(
orient
)
?
'x'
:
'y'
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment