Charts: μ΅œμ†Œ, μ΅œλŒ€ κ°’ 및 κ·Έλ¦¬λ“œ μ„  μ‚¬μ΄μ˜ κ³ μ • λ‹¨κ³„λ‘œ y 좕을 μ„€μ •ν•˜λŠ” 방법은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

에 λ§Œλ“  2015λ…„ 07μ›” 17일  Β·  13μ½”λ©˜νŠΈ  Β·  좜처: danielgindi/Charts

μ•ˆλ…•ν•˜μ„Έμš”,
μ €λŠ” ios-chartsλ₯Ό μ‚¬μš©ν•˜λŠ” ν•™μŠ΅ 단계에 μžˆμŠ΅λ‹ˆλ‹€. xμΆ• κ·Έλ¦¬λ“œλ₯Ό κ³ μ • κ°’μœΌλ‘œ λ³€κ²½ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.
λ‚΄κ°€ κ·Έλ¦° y-값은 1, 2, 3,..., 10κ³Ό 같은 int μˆ«μžμž…λ‹ˆλ‹€. κ·ΈλŸΌμ—λ„ λΆˆκ΅¬ν•˜κ³  μ™Όμͺ½ y좕은 ν™•λŒ€/μΆ•μ†Œ μˆ˜μ€€μ— 따라 6.3, 9.1 λ“±κ³Ό 같은 값을 ν‘œμ‹œν•©λ‹ˆλ‹€.
두 번째 μ§ˆλ¬Έμ€ λ ˆμ΄λΈ” 1,5,10,15,....40을 ν‘œμ‹œν•˜κΈ° μœ„ν•΄ x좕을 μ„€μ •ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ Excelμ—μ„œμ™€ 같이 단계 크기에 영ν–₯을 쀄 수 μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

// zoom y-axis to min/max value
lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
lineChart.leftAxis.startAtZeroEnabled = false

차트(μ΅œμ†Œ = 6.0 및 μ΅œλŒ€ = 10.0):
linechartview

배열은 μ΅œμ†Œκ°’κ³Ό μ΅œλŒ€κ°’μ— 크게 μ˜μ‘΄ν•©λ‹ˆλ‹€.

차트(μ΅œμ†Œ = 3.0 및 μ΅œλŒ€ = 10.0):
bildschirmfoto 2015-07-17 um 22 13 16

지원해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•ˆλ…• λ‹€μ‹œ 생각해봐..

axisMaximum / axisMinimum 이 νŠΈλ¦­μ„ μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

그런 λ†€λΌμš΄ ν”ŒλŸ¬κ·ΈμΈ. μ—¬λŸ¬λΆ„μ΄ 우리 개발자의 삢을 μ–Όλ§ˆλ‚˜ μ‰½κ²Œ λ§Œλ“€μ—ˆλŠ”μ§€ λͺ¨λ¦…λ‹ˆλ‹€.

μ—„μ²­λ‚œ κ°μ‚¬ν•©λ‹ˆλ‹€!!

λͺ¨λ“  13 λŒ“κΈ€

ChartYAxisRenderer 클래슀의 internal func computeAxisValues(#min: Double, max: Double) ν•¨μˆ˜μ— λ¬Έμ œκ°€ μžˆμŒμ„ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ†ŒμŠ€ μ½”λ“œλ₯Ό μ΄ν•΄ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€. ν•¨μˆ˜λŠ” 5번 ν˜ΈμΆœλ©λ‹ˆλ‹€.

λ‹€μŒ 행은 μ •ν™•νžˆ 무엇을 ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? labelCount λŠ” 어디에 μ •μ˜λ˜μ–΄ μžˆμŠ΅λ‹ˆκΉŒ?

var rawInterval = range / Double(labelCount)
var interval = ChartUtils.roundToNextSignificant(number: Double(rawInterval))
var intervalMagnitude = pow(10.0, round(log10(interval)))
var intervalSigDigit = (interval / intervalMagnitude)

customAxisMin / customAxisMax λ₯Ό μ›ν•˜λŠ” κ°’μœΌλ‘œ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ›ν•˜λŠ” 값이 무엇을 μ˜λ―Έν•©λ‹ˆκΉŒ? 이 값이 λ¬΄μ‹œλ©λ‹ˆκΉŒ?
잘 μ •λ ¬λœ κ·Έλ¦¬λ“œλ₯Ό μ–΄λ–»κ²Œ 얻을 수 μžˆμŠ΅λ‹ˆκΉŒ?

μ›ν•˜λŠ” λŒ€λ‘œ YμΆ•μ˜ μ΅œμ†Œ/μ΅œλŒ€κ°’μ„ μ§€μ •ν•œλ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. μ§€κΈˆμ€ μ‹œκ°„μ΄ μ’€ μ΄‰λ°•ν•˜μ§€λ§Œ μ–΄μ¨Œλ“  닡을 λ“œλ¦¬κ³  μ‹Άμ—ˆμœΌλ‹ˆ μΆ• κΈ°λŠ₯을 λ³΄κ±°λ‚˜ 데λͺ¨λ₯Ό 보셔야 ν•©λ‹ˆλ‹€ :-)

λ‚˜μ€‘μ— μ‹œκ°„μ΄ λœλ‹€λ©΄ 더 μžμ„Έν•œ 닡변을 λ“œλ¦¬λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€

μ•ˆλ…•ν•˜μ„Έμš”,
μ†ŒμŠ€ μ½”λ“œλ₯Ό λΆ„μ„ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. labelCount μ„€μ •ν•˜λŠ” 것을 μžŠμ—ˆμŠ΅λ‹ˆλ‹€.

            lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
            lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
            lineChart.leftAxis.labelCount = Int(lineChart.leftAxis.customAxisMax - lineChart.leftAxis.customAxisMin)
            lineChart.leftAxis.startAtZeroEnabled = false

λ‚΄ λ¬Έμ œλŠ” y μΆ• λ ˆμ΄λΈ”μ΄ ν‘œμ‹œλ˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ 거의 μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. (λ§‰λŒ€ 및 μ„  κ·Έλž˜ν”„μš©)

이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ„λ‘ λ„μ™€μ£Όμ„Έμš”.

μΆ•μ˜ @ramkrishna880 setLabelsToSkip(0)

@danielgindi λŠ” κ²°ν•©λœ μ°¨νŠΈμ— λŒ€ν•΄ customAxisMin / customAxisMax 에 μ•‘μ„ΈμŠ€ν•  수 μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. κ²°ν•© μ°¨νŠΈμ—μ„œ YμΆ•μ˜ μ΅œλŒ€κ°’κ³Ό μ΅œμ†Œκ°’μ„ κ³ μ •ν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…• λ‹€μ‹œ 생각해봐..

axisMaximum / axisMinimum 이 νŠΈλ¦­μ„ μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

그런 λ†€λΌμš΄ ν”ŒλŸ¬κ·ΈμΈ. μ—¬λŸ¬λΆ„μ΄ 우리 개발자의 삢을 μ–Όλ§ˆλ‚˜ μ‰½κ²Œ λ§Œλ“€μ—ˆλŠ”μ§€ λͺ¨λ¦…λ‹ˆλ‹€.

μ—„μ²­λ‚œ κ°μ‚¬ν•©λ‹ˆλ‹€!!

xamlμ—μ„œ 좕을 μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. MinValue="0"
image

μ•ˆλ…•ν•˜μ„Έμš”, y좕에 κ³ μ • 간격을 μ§€μ •ν•˜λŠ” 방법을 μ•Œλ €μ£Όμ‹€ 수 μžˆμŠ΅λ‹ˆκΉŒ? μ–‘μˆ˜ λ§‰λŒ€ 차트λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
차트 3.1.1

μ–‘μ˜ 음수 λ§‰λŒ€ μ°¨νŠΈμ—μ„œ y 좕에 λŒ€ν•œ 1.1, 1.3, 1.5 간격과 κ°™μŠ΅λ‹ˆλ‹€. 첨뢀 된 이미지λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€

감사 ν•΄μš”
how to intervals

customAxisMin / customAxisMax λ₯Ό μ›ν•˜λŠ” κ°’μœΌλ‘œ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

Hi Daniel 이 속성은 λ§‰λŒ€ μ°¨νŠΈμ—μ„œλ„ μž‘λ™ν•©λ‹ˆκΉŒ?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰