2011-11-22 32 views
8

Tôi đang gặp sự cố với nhãn trục. Có vẻ như nhãn tùy chỉnh của tôi không hiển thị bên ngoài khu vực ô. Nhìn vào Design Overview cho cốt truyện cốt lõi, các nhãn trục phải nằm ngoài khu vực ô. Bất kỳ ý tưởng về cách tôi có thể làm cho họ có thể nhìn thấy bên ngoài khu vực âm mưu?Nhãn trục lô cốt lõi không hiển thị bên ngoài khu vực lô

Mã/hình ảnh dưới đây cho biết cách nhãn chỉ hiển thị trong khu vực ô. Nếu tôi thay đổi độ lệch nhãn thành một số dương, các nhãn sẽ không hiển thị. Tôi đang sử dụng Core Plot 0.9 với iOS 5.

Cảm ơn bạn trước!

CPTTheme *theme = [CPTTheme themeNamed:kCPTPlainWhiteTheme]; 
graph = [[theme newGraph] retain];; 

CPTGraphHostingView *hostingView = (CPTGraphHostingView *)self.view; 
hostingView.hostedGraph = graph; 

graph.paddingLeft = 40.0; 
graph.paddingTop = 40.0; 
graph.paddingRight = 40.0; 
graph.paddingBottom = 40.0; 
graph.masksToBorder = NO; 

// ... setup axis 
axisSet.yAxis.majorIntervalLength = CPTDecimalFromInt(0); 
axisSet.yAxis.minorTicksPerInterval = 0; 
axisSet.yAxis.labelingPolicy = CPTAxisLabelingPolicyNone; 

// if this number is negative, the labels show, 
// if it is positive, that is outside the plot area, the labels are hidden. 
axisSet.yAxis.labelOffset = -20; 

// ... setup labels 
NSMutableArray *labels = [NSMutableArray array]; 
for (int i = 0; i < reportData.rowCount; ++i) { 

    CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText:[NSString stringWithFormat:@"Test Row %i", i] textStyle:labelStyle]; 

    label.tickLocation = CPTDecimalFromInt(i); 
    label.offset = axisSet.yAxis.labelOffset; 
    label.alignment = CPTAlignmentLeft; 
    [labels addObject:label]; 
    [label release]; 
} 
axisSet.yAxis.axisLabels = [NSSet setWithArray:labels]; 

Graph

Trả lời

21

Đặt một số đệm vào khung Diện tích thêm vào hoặc thay vì đồ thị chính nó.

graph.plotAreaFrame.paddingTop = 20.0; 
graph.plotAreaFrame.paddingBottom = 50.0; 
graph.plotAreaFrame.paddingLeft = 50.0; 
graph.plotAreaFrame.paddingRight = 50.0; 

Mã này là từ bản trình diễn trục trong ứng dụng ví dụ về Thư viện mẫu.

+0

Cảm ơn! Không thấy tùy chọn đó. –

+5

coreplot là một điều thú vị để sử dụng/sarc –

7

Tôi đã gặp chính xác cùng một vấn đề và đã thử mọi giải pháp mà tôi có thể tìm thấy trực tuyến cho điều này mà không thành công.

Cuối cùng tôi đã nhận nó để làm việc bằng cách tắt mặt nạ biên giới, như thế này:

graph.plotAreaFrame.masksToBorder = NO; 
+0

Điều này làm cho các nhãn được hiển thị bên ngoài giới hạn của chế độ xem biểu đồ. Nó có thể là một giải pháp khả thi nếu bạn đã để lại khoảng trống xung quanh thành phần khung nhìn, nhưng nó đáng để biết. –

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