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
Evgeny
c3-closed
Commits
12619fdc
Commit
12619fdc
authored
Mar 07, 2014
by
Masayuki Tanaka
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add option for label position - #59
parent
4107077b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
81 additions
and
17 deletions
+81
-17
c3.js
c3.js
+81
-17
c3.min.js
c3.min.js
+0
-0
No files found.
c3.js
View file @
12619fdc
...
...
@@ -259,7 +259,7 @@
margin
=
{
top
:
__axis_rotated
&&
__axis_y2_show
?
20
:
0
,
right
:
getCurrentPaddingRight
(),
bottom
:
20
+
(
__axis_rotated
?
0
:
__subchart_size_height
)
+
(
isLegendRight
?
0
:
legendHeight
),
bottom
:
20
+
(
__axis_rotated
?
0
:
__subchart_size_height
)
+
(
isLegendRight
?
getLegendPaddingTop
()
:
legendHeight
),
left
:
(
__axis_rotated
?
__subchart_size_height
+
rotated_padding_right
:
0
)
+
getCurrentPaddingLeft
()
};
width
=
currentWidth
-
margin
.
left
-
margin
.
right
;
...
...
@@ -277,7 +277,7 @@
// for legend
margin3
=
{
top
:
isLegendRight
?
margin
.
top
:
currentHeight
-
legendHeight
,
top
:
isLegendRight
?
margin
.
top
:
currentHeight
+
getLegendPaddingTop
()
-
legendHeight
,
right
:
NaN
,
bottom
:
0
,
left
:
isLegendRight
?
currentWidth
-
legendWidth
:
0
...
...
@@ -330,7 +330,8 @@
}
}
function
getDefaultPaddingWithAxisId
()
{
return
40
;
// TODO: calc automatically
var
yAxisLabelPosition
=
getYAxisLabelPosition
();
return
yAxisLabelPosition
.
isInner
?
40
:
60
;
// TODO: calc automatically
}
function
getParentWidth
()
{
return
+
d3
.
select
(
__bindto
).
style
(
"width"
).
replace
(
'px'
,
''
);
// TODO: if rotated, use height
...
...
@@ -342,7 +343,7 @@
return
width
+
2
;
}
function
getXAxisClipHeight
()
{
return
4
0
;
return
8
0
;
}
function
getYAxisClipWidth
()
{
return
margin
.
left
+
20
;
...
...
@@ -362,6 +363,10 @@
function
getLegendHeight
()
{
return
__legend_show
?
isLegendRight
?
currentHeight
:
40
:
0
;
}
function
getLegendPaddingTop
()
{
var
xAxisLabelPositon
=
getXAxisLabelPosition
();
return
xAxisLabelPositon
.
isInner
?
5
:
20
;
}
//-- Scales --//
...
...
@@ -479,11 +484,70 @@
var
maxDataCount
=
getMaxDataCount
();
return
__axis_x_tick_culling
&&
maxDataCount
>
__axis_x_tick_count
?
__axis_x_tick_count
:
maxDataCount
;
}
function
getXAxisLabel
()
{
return
typeof
__axis_x_label
===
'string'
?
__axis_x_label
:
__axis_x_label
?
__axis_x_label
.
text
:
null
;
function
getAxisLableText
(
option
)
{
return
typeof
option
===
'string'
?
option
:
option
?
option
.
text
:
null
;
}
function
getAxisLabelPosition
(
option
,
defaultPosition
)
{
var
position
=
(
option
&&
typeof
option
===
'object'
&&
option
.
position
)
?
option
.
position
:
defaultPosition
;
return
{
isInner
:
position
.
indexOf
(
'inner'
)
>=
0
,
isOuter
:
position
.
indexOf
(
'outer'
)
>=
0
,
isLeft
:
position
.
indexOf
(
'left'
)
>=
0
,
isCenter
:
position
.
indexOf
(
'center'
)
>=
0
,
isRight
:
position
.
indexOf
(
'right'
)
>=
0
,
isTop
:
position
.
indexOf
(
'top'
)
>=
0
,
isMiddle
:
position
.
indexOf
(
'middle'
)
>=
0
,
isBottom
:
position
.
indexOf
(
'bottom'
)
>=
0
};
}
function
getXAxisLabelPosition
()
{
return
getAxisLabelPosition
(
__axis_x_label
,
'inner-right'
);
}
function
getYAxisLabelPosition
()
{
return
getAxisLabelPosition
(
__axis_y_label
,
'inner-top'
);
}
function
textForXAxisLabel
()
{
return
getAxisLableText
(
__axis_x_label
);
}
function
textForYAxisLabel
()
{
return
getAxisLableText
(
__axis_y_label
);
}
function
xForXAxisLabel
()
{
var
position
=
getXAxisLabelPosition
();
return
position
.
isLeft
?
0
:
position
.
isCenter
?
width
/
2
:
width
;
}
function
xForYAxisLabel
()
{
var
position
=
getYAxisLabelPosition
();
return
position
.
isBottom
?
-
height
:
position
.
isMiddle
?
-
height
/
2
:
0
;
}
function
dxForYAxisLabel
()
{
var
position
=
getYAxisLabelPosition
();
return
position
.
isTop
?
"-0.5em"
:
"0"
;
}
function
dyForXAxisLabel
()
{
var
position
=
getXAxisLabelPosition
();
return
position
.
isInner
?
"-0.5em"
:
"3.5em"
;
}
function
dyForYAxisLabel
()
{
var
position
=
getYAxisLabelPosition
();
// TODO: define as function and use to calc padding left
var
maxWidth
=
0
;
d3
.
selectAll
(
'.y.axis .tick text'
).
each
(
function
()
{
var
box
=
this
.
getBBox
();
if
(
maxWidth
<
box
.
width
)
{
maxWidth
=
box
.
width
;
}
});
return
position
.
isInner
?
"1.2em"
:
-
20
-
maxWidth
;
}
function
textAnchorForXAxisLabel
()
{
var
position
=
getXAxisLabelPosition
();
return
position
.
isLeft
?
'start'
:
position
.
isCenter
?
'middle'
:
'end'
;
}
function
getYAxisLabel
()
{
return
typeof
__axis_y_label
===
'string'
?
__axis_y_label
:
__axis_y_label
?
__axis_y_label
.
text
:
null
;
function
textAnchorForYAxisLabel
()
{
var
position
=
getYAxisLabelPosition
();
return
position
.
isBottom
?
'start'
:
position
.
isMiddle
?
'middle'
:
'end'
;
}
//-- Arc --//
...
...
@@ -1708,19 +1772,18 @@
.
attr
(
"transform"
,
translate
.
x
)
.
append
(
"text"
)
.
attr
(
"class"
,
"-axis-x-label"
)
.
attr
(
"x"
,
width
)
.
attr
(
"dy"
,
"-.5em"
)
.
style
(
"text-anchor"
,
"end"
)
.
text
(
getXAxisLabel
);
.
attr
(
"dy"
,
dyForXAxisLabel
)
.
style
(
"text-anchor"
,
textAnchorForXAxisLabel
)
.
text
(
textForXAxisLabel
);
main
.
append
(
"g"
)
.
attr
(
"class"
,
"y axis"
)
.
attr
(
"clip-path"
,
__axis_rotated
?
"url("
+
document
.
URL
+
"#yaxis-clip)"
:
""
)
.
append
(
"text"
)
.
attr
(
"class"
,
"-axis-y-label"
)
.
attr
(
"transform"
,
"rotate(-90)"
)
.
attr
(
"dy"
,
"1.2em"
)
.
attr
(
"dx"
,
"-.5em"
)
.
style
(
"text-anchor"
,
"end"
)
.
text
(
getYAxisLabel
);
.
attr
(
"dx"
,
dxForYAxisLabel
)
.
style
(
"text-anchor"
,
textAnchorForYAxisLabel
)
.
text
(
textForYAxisLabel
);
if
(
__axis_y2_show
)
{
main
.
append
(
"g"
)
...
...
@@ -2218,7 +2281,8 @@
yForText
=
generateXYForText
(
barIndices
,
false
);
// Update label position
main
.
select
(
".x.axis .-axis-x-label"
).
attr
(
"x"
,
width
);
main
.
select
(
".x.axis .-axis-x-label"
).
attr
(
"x"
,
xForXAxisLabel
);
main
.
select
(
".y.axis .-axis-y-label"
).
attr
(
"x"
,
xForYAxisLabel
).
attr
(
"dy"
,
dyForYAxisLabel
);
// Update sub domain
subY
.
domain
(
y
.
domain
());
...
...
c3.min.js
View file @
12619fdc
This source diff could not be displayed because it is too large. You can
view the blob
instead.
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