2010-05-25 37 views

Trả lời

35

Thật không may, với thực tế là API của khung chưa được ổn định, không có nhiều hướng dẫn ở đó và một số hướng dẫn tồn tại đã lỗi thời. Các ứng dụng ví dụ thực sự là những nguồn tốt nhất để xem cách làm việc với khung công tác. Ví dụ: để cung cấp nhãn trục tùy chỉnh, hãy xem tệp nguồn CPTestAppBarChartController.m của CPTestApp-iPhone. Các biểu đồ thanh trong ví dụ có trục nhãn tùy chỉnh X xác định bởi các đoạn mã sau:

// Define some custom labels for the data elements 
x.labelRotation = M_PI/4; 
x.labelingPolicy = CPAxisLabelingPolicyNone; 
NSArray *customTickLocations = [NSArray arrayWithObjects:[NSDecimalNumber numberWithInt:1], [NSDecimalNumber numberWithInt:5], [NSDecimalNumber numberWithInt:10], [NSDecimalNumber numberWithInt:15], nil]; 
NSArray *xAxisLabels = [NSArray arrayWithObjects:@"Label A", @"Label B", @"Label C", @"Label D", @"Label E", nil]; 
NSUInteger labelLocation = 0; 
NSMutableArray *customLabels = [NSMutableArray arrayWithCapacity:[xAxisLabels count]]; 
for (NSNumber *tickLocation in customTickLocations) { 
    CPAxisLabel *newLabel = [[CPAxisLabel alloc] initWithText: [xAxisLabels objectAtIndex:labelLocation++] textStyle:x.labelTextStyle]; 
    newLabel.tickLocation = [tickLocation decimalValue]; 
    newLabel.offset = x.labelOffset + x.majorTickLength; 
    newLabel.rotation = M_PI/4; 
    [customLabels addObject:newLabel]; 
    [newLabel release]; 
} 

x.axisLabels = [NSSet setWithArray:customLabels]; 

Trước tiên, bạn thiết lập các chính sách ghi nhãn trục CPAxisLabelingPolicyNone để cho khuôn khổ biết bạn sẽ được cung cấp nhãn tùy chỉnh, sau đó bạn tạo một mảng nhãn với vị trí tương ứng của chúng và cuối cùng bạn gán mảng nhãn đó cho thuộc tính axisLabels trên trục X.

+0

cách chúng tôi có thể thêm nhãn cho từng lát trong biểu đồ hình tròn? cảm ơn bạn – Pooja

+0

customTickLocations chứa 5,10 ... liên quan đến phạm vi trục x? khi tôi có giá trị tiếp theo trục x trong vài giây thì giá trị nào sẽ là giá trị trong customTickLocations trong trường hợp của tôi .. cảm ơn bạn – Pooja

+1

@Pooja Nhãn tùy chỉnh có thể được thêm vào biểu đồ tròn theo cách chính xác như trong câu trả lời ... bạn chào đón. Bạn có thể làm việc trên các vị trí đánh dấu tùy chỉnh như được đề cập trong [câu trả lời SO này] (http://stackoverflow.com/questions/3208025/core-plot-still-do-not-understand-how-to-have-custom-label- và-ve) ... bạn được chào đón! – tipycalFlow

0

Để cung cấp nhãn được định dạng tùy chỉnh, bạn có thể chỉ định trình định dạng cho thuộc tính labelFormatter của trục. Bạn có thể sử dụng cấu hình NSNumberFormatter sở thích của bạn, ví dụ .:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
// ... configure formatter 

CPTXYAxis *y = axisSet.yAxis; 
y.labelFormatter = formatter; 

Hoặc, nếu bạn cần định dạng cụ thể hơn, bạn có thể phân lớp NSNumberFormatter và ghi đè lên stringForObjectValue: phương pháp để làm các định dạng chính xác mà bạn muốn.

Các vấn đề liên quan