첨부 된 이미지에 따라 모바일 애플리케이션에서 그래프를 렌더링하기 위해 coreplot을 사용하고 있습니다. 내 문제는 그래프가 때때로 y 축 레이블에 대해 잘 확장되지 않는다는 것입니다. 그래프에서 최대 y 축 레이블은 3500.0이지만 두 그래프 플롯 포인트의 실제 y 축 최대 값은 2498에 불과합니다. 이로 인해 플롯 최대 포인트에서 y 축까지의 공간 낭비가 발생합니다. 레이블의 최대 지점으로 인해 그래프가 축소됩니다. 이것은 내 모든 그래프에서 발생하는 것이 아니라 몇 개의 그래프에서만 발생합니다. 이상적으로는 y 축 최대 레이블이 3000으로 설정되어있을 것으로 예상합니다. 또는 최대 y 축 레이블을 3500 대신 2498로 표시하는 방법이 있다면 더 좋을 것입니다.
y 축 범위를 설정하는 방법은 다음과 같습니다.
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yMin) length:CPTDecimalFromFloat(yMax)];
ymin = 1159.000000 and ymax = 2498.000000 //For this example
"scaletoFitPlots"를 사용하려고했지만 헛된 것입니다. x 축 레이블이 아닌 y 축 레이블 만 제대로 데게하고 싶습니다. 나는 또한 이것과 같은 스택 오버플로에 대한 몇 가지 스레드를 언급했습니다 -CorePlot-모든 데이터 포인트를 포함하도록 y 축 범위를 설정 하지만 헛된 :(. 여기에 도움을 주셔서 감사합니다.
마지막 두 그래프가 표시되면 그중 하나는 y 축의 주 그리드 선 내에 있고 다른 하나는 안에 있지 않습니다. 즉, 최대 y 축 레이블은 200000.0이고 플롯의 최대 값은 그 이상입니다. . 내 모든 그래프가 y 축 레이블의 최대 값에 대한 주요 그리드 선 내에 포함되도록 할 수있는 방법이 있습니까?
플롯 범위는 시작 위치와 길이로 지정됩니다. 1,159에서 3,657 (1,159 + 2,498) 사이의 범위를 지정했습니다. 최소값과 최대 값이 주어지면 범위의 길이는 (최대-최소) 여야합니다.
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yMin)
length:CPTDecimalFromFloat(yMax - yMin)];
눈금 표시 및 레이블 위치는 축 레이블 지정 정책에 의해 제어됩니다. 레이블이 무엇인지 신경 쓰지 않지만 축의 극단에 위치하도록하려면 CPTAxisLabelingPolicyEqualDivisions
레이블 지정 정책을 사용하십시오 . 레이블이 항상 "좋은"숫자가되도록하려면 플롯 범위를 최소 및 최대 데이터 값을 넘어 가장 가까운 "좋은"값으로 확장하십시오. 위의 예 (1,159 ~ 2,498)의 경우 시작 위치 1,000과 길이 1,500을 선택할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다