此頁(yè)面關(guān)注AxisBase類,她是XAxis (XAxis) and YAxis(YAxis)的基類罗丰。
下面提到的以下方法可以應(yīng)用到這兩個(gè)軸。
軸類允許特定的樣式再姑,(可以包含)由以下組件/部件組成:
- 標(biāo)簽(在垂直(y軸)或水平(x軸)對(duì)齊),其中包含軸描述值萌抵。
- 繪制了一個(gè)所謂的“axis-line”,在標(biāo)簽旁邊并且和標(biāo)簽平行。
- “grid-lines”,每個(gè)來(lái)自一個(gè)坐標(biāo)標(biāo)簽所在的水平方向。
- LimitLines,允許存在特殊的信息,如邊界或限制绍填。
控制(軸的)哪些部分應(yīng)該畫(huà)
- setEnabled(boolean enabled):設(shè)置軸啟用或禁用霎桅。如果禁用,軸的任何一部分都不會(huì)被繪制,不管其他任何設(shè)置讨永。
- setDrawLabels(boolean enabled):設(shè)置為true,啟動(dòng)繪制軸的標(biāo)簽滔驶。
- setDrawAxisLine(boolean enabled):設(shè)置為true,啟動(dòng)繪制軸線卿闹。
- setDrawGridLines(boolean enabled):設(shè)置為true揭糕,啟動(dòng)繪制網(wǎng)格線。
定制軸范圍(最小/最大)
- setAxisMaximum(float max):為這個(gè)軸設(shè)置一個(gè)自定義的最大值锻霎。如果設(shè)置,這個(gè)值不會(huì)自動(dòng)根據(jù)所提供的數(shù)據(jù)計(jì)算著角。
- resetAxisMaximum():撤銷先前設(shè)置的最大值。通過(guò)這樣做,你將再次允許軸自動(dòng)計(jì)算它的最大值旋恼。
- setAxisMinimum(float min):為這個(gè)軸設(shè)置一個(gè)自定義的最小值吏口。如果設(shè)置,這個(gè)值不會(huì)自動(dòng)根據(jù)所提供的數(shù)據(jù)計(jì)算。
- resetAxisMinimum():撤銷先前設(shè)置的最小值冰更。通過(guò)這樣做,你將再次允許軸自動(dòng)計(jì)算它的最小值产徊。
- setStartAtZero(boolean enabled):棄用,使用setAxisMinValue(…)或setAxisMaxValue(…)代替。
- setInverted(boolean enabled):如果設(shè)置為true,這個(gè)軸將倒轉(zhuǎn)蜀细,最高的值將在底部,最小值在頂部舟铜。
- setSpaceTop(float percent):設(shè)置圖表中最高值的頂部間距(以總軸范圍的百分比表示)與軸上的最高值的比較。
- setSpaceBottom(float percent):設(shè)置圖表中最低值與軸上的最低值相比的底部間距(以總軸范圍的百分比表示)审葬。
- setShowOnlyMinMax(boolean enabled):如果啟用深滚,該軸將僅顯示其最小值和最大值奕谭。 這將忽略/覆蓋定義的標(biāo)簽計(jì)數(shù)(如果未強(qiáng)制)涣觉。
- setLabelCount(int count, boolean force):設(shè)置y軸的標(biāo)簽數(shù)。 請(qǐng)注意血柳,這個(gè)數(shù)字不是固定的(如果force == false)官册,只能近似。 如果強(qiáng)制啟用(true)难捌,則繪制精確指定的標(biāo)簽數(shù)量 - 這可能導(dǎo)致軸上的數(shù)字不均勻膝宁。
- setPosition(YAxisLabelPosition pos):設(shè)置軸標(biāo)簽應(yīng)該繪制的位置。 INSIDE_CHART或OUTSIDE CHART根吁。
- setGranularity(float gran):設(shè)置y軸值之間的最小間隔员淫。這可以用于在放大到為軸設(shè)置的小數(shù)位數(shù)不再允許在兩個(gè)軸值之間進(jìn)行區(qū)分的點(diǎn)時(shí)避免值重復(fù)。
- setGranularityEnabled(boolean enabled):?jiǎn)⒂迷诜糯髸r(shí)限制y軸間隔的粒度特性击敌。默認(rèn)值:false介返。
樣式/修改軸
- setTextColor(int color):設(shè)置軸標(biāo)簽的顏色。
- setTextSize(float size):設(shè)置軸標(biāo)簽的文本大小(dp)圣蝎。
- setTypeface(Typeface tf):為軸標(biāo)簽設(shè)置自定義字體刃宵。
- setGridColor(int color):設(shè)置此軸的網(wǎng)格線的顏色。
- setGridLineWidth(float width):設(shè)置此軸的網(wǎng)格線的寬度徘公。
- setAxisLineColor(int color):設(shè)置此軸的軸線的顏色牲证。
- setAxisLineWidth(float width):設(shè)置此軸的軸線的寬度。
- enableGridDashedLine(float lineLength, float spaceLength, float phase):使得網(wǎng)格線能夠以虛線模式繪制关面,例如坦袍, 像這樣 ”- - - - - -”。 “l(fā)ineLength”控制線段的長(zhǎng)度等太,“spaceLength”控制線之間的間隔键闺,“phase”控制起始點(diǎn)。
格式化軸值
對(duì)于格式化軸值澈驼,可以使用IAxisValueFormatter接口辛燥,如下所述。 您可以使用axis.setValueFormatter(IAxisValueFormatter formatter)方法將自定義格式化程序設(shè)置為軸缝其。
限制線
兩個(gè)軸都支持所謂的LimitLines挎塌,允許提供特殊信息,如邊界或約束内边。 添加到Y(jié)Axis的LimitLine在水平方向繪制榴都,在添加到XAxis時(shí)在垂直方向繪制。 這是從軸中添加和刪除LimitLine的方法:
- addLimitLine(LimitLine l):向此軸添加新的LimitLine漠其。
- removeLimitLine(LimitLine l):從該軸移除指定的限制線嘴高。
- 更多的添加/刪除可用方法。
- setDrawLimitLinesBehindData(boolean enabled):允許控制LimitLines和實(shí)際數(shù)據(jù)之間的z順序和屎。 如果設(shè)置為true拴驮,則限制線繪制在實(shí)際數(shù)據(jù)后面,否則在頂部柴信。 默認(rèn)值:false套啤。
限制線(LimitLine類)是(如名稱可能指示的)簡(jiǎn)單和簡(jiǎn)單的線可以用于為用戶提供附加信息。
例如随常,您的圖表可能會(huì)顯示用戶使用應(yīng)用程序登錄的各種血壓測(cè)量結(jié)果潜沦。 為了通知用戶超過(guò)140 mmHg的收縮壓被認(rèn)為是健康風(fēng)險(xiǎn),您可以在140添加LimitLine以提供該信息绪氛。
示例代碼
YAxis leftAxis = chart.getAxisLeft();
LimitLine ll = new LimitLine(140f, "Critical Blood Pressure");
ll.setLineColor(Color.RED);
ll.setLineWidth(4f);
ll.setTextColor(Color.BLACK);
ll.setTextSize(12f);// .. and more styling options
leftAxis.addLimitLine(ll);