Toggle navigation
Toggle navigation
This project
Loading...
Sign in
iOS
/
PNChart
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
dullgrass
2015-05-14 17:26:55 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
7c46ed229ec261b14abc6558e93ab4c9f70a5aef
7c46ed22
1 parent
74652e09
fix bug - unsupport yLabels
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
53 additions
and
46 deletions
PNChart/PNBarChart.m
PNChart/PNBarChart.m
View file @
7c46ed2
...
...
@@ -72,7 +72,7 @@
//make the _yLabelSum value dependant of the distinct values of yValues to avoid duplicates on yAxis
int
yLabelsDifTotal
=
(
int
)[
NSSet
setWithArray
:
yValues
].
count
;
// !!!:
调整Y坐标的显示
值
// !!!:
生效Y轴坐标的最大
值
if
(
_yLabelSum
==
defaultYSum
)
{
_yLabelSum
=
yLabelsDifTotal
%
2
==
0
?
yLabelsDifTotal
:
yLabelsDifTotal
+
1
;
}
...
...
@@ -85,7 +85,7 @@
if
(
_yChartLabels
)
{
[
self
viewCleanupForCollection
:
_yChartLabels
];
}
else
{
}
else
{
_yLabels
=
[
NSMutableArray
new
];
}
...
...
@@ -93,52 +93,59 @@
//Add y labels
float
yLabelSectionHeight
=
(
self
.
frame
.
size
.
height
-
_chartMargin
*
2
-
kXLabelHeight
)
/
_yLabelSum
;
// !!!: 用户自行修改Y轴坐标值
if
(
_yLabels
)
{
[
self
getYValueMax
:
_yLabels
];
for
(
int
i
=
0
;
i
<
_yLabels
.
count
;
i
++
)
{
float
yAsixValues
=
[[
_yLabels
objectAtIndex
:
_yLabels
.
count
-
i
-
1
]
floatValue
];
NSString
*
labelText
=
_yLabelFormatter
(
yAsixValues
);
PNChartLabel
*
label
=
[[
PNChartLabel
alloc
]
initWithFrame
:
CGRectMake
(
0
,
yLabelSectionHeight
*
i
+
_chartMargin
-
kYLabelHeight
/
2
.
0
,
_yChartLabelWidth
,
kYLabelHeight
)];
label
.
font
=
_labelFont
;
label
.
textColor
=
_labelTextColor
;
[
label
setTextAlignment
:
NSTextAlignmentRight
];
label
.
text
=
labelText
;
[
_yChartLabels
addObject
:
label
];
[
self
addSubview
:
label
];
}
}
else
{
[
self
__addYCoordinateLabelsValuesWithyLabelSectionHeight
:
yLabelSectionHeight
];
}
}
for
(
int
index
=
0
;
index
<
_yLabelSum
;
index
++
)
{
NSString
*
labelText
=
_yLabelFormatter
((
float
)
_yValueMax
*
(
(
_yLabelSum
-
index
)
/
(
float
)
_yLabelSum
));
PNChartLabel
*
label
=
[[
PNChartLabel
alloc
]
initWithFrame
:
CGRectMake
(
0
,
yLabelSectionHeight
*
index
+
_chartMargin
-
kYLabelHeight
/
2
.
0
,
_yChartLabelWidth
,
kYLabelHeight
)];
label
.
font
=
_labelFont
;
label
.
textColor
=
_labelTextColor
;
[
label
setTextAlignment
:
NSTextAlignmentRight
];
label
.
text
=
labelText
;
[
_yChartLabels
addObject
:
label
];
[
self
addSubview
:
label
];
}
}
#pragma mark - Private Method
#pragma mark - 添加柱状图的Y轴坐标
-
(
void
)
__addYCoordinateLabelsValuesWithyLabelSectionHeight
:
(
float
)
yLabelSectionHeight
{
if
(
_yLabels
)
{
[
self
getYValueMax
:
_yLabels
];
for
(
int
i
=
0
;
i
<
_yLabels
.
count
;
i
++
)
{
float
yAsixValues
=
[[
_yLabels
objectAtIndex
:
_yLabels
.
count
-
i
-
1
]
floatValue
];
NSString
*
labelText
=
_yLabelFormatter
(
yAsixValues
);
PNChartLabel
*
label
=
[[
PNChartLabel
alloc
]
initWithFrame
:
CGRectMake
(
0
,
yLabelSectionHeight
*
i
+
_chartMargin
-
kYLabelHeight
/
2
.
0
,
_yChartLabelWidth
,
kYLabelHeight
)];
label
.
font
=
_labelFont
;
label
.
textColor
=
_labelTextColor
;
[
label
setTextAlignment
:
NSTextAlignmentRight
];
label
.
text
=
labelText
;
[
_yChartLabels
addObject
:
label
];
[
self
addSubview
:
label
];
}
}
else
{
for
(
int
index
=
0
;
index
<
_yLabelSum
;
index
++
)
{
NSString
*
labelText
=
_yLabelFormatter
((
float
)
_yValueMax
*
(
(
_yLabelSum
-
index
)
/
(
float
)
_yLabelSum
));
PNChartLabel
*
label
=
[[
PNChartLabel
alloc
]
initWithFrame
:
CGRectMake
(
0
,
yLabelSectionHeight
*
index
+
_chartMargin
-
kYLabelHeight
/
2
.
0
,
_yChartLabelWidth
,
kYLabelHeight
)];
label
.
font
=
_labelFont
;
label
.
textColor
=
_labelTextColor
;
[
label
setTextAlignment
:
NSTextAlignmentRight
];
label
.
text
=
labelText
;
[
_yChartLabels
addObject
:
label
];
[
self
addSubview
:
label
];
}
}
}
-
(
void
)
updateChartData
:
(
NSArray
*
)
data
{
...
...
Please
register
or
login
to post a comment