此頁面關注AxisBase類,她是XAxis (XAxis) and YAxis(YAxis)的基類。
下面提到的以下方法可以應用到這兩個軸。
軸類允許特定的樣式,(可以包含)由以下組件/部件組成:
- 標簽(在垂直(y軸)或水平(x軸)對齊),其中包含軸描述值。
- 繪制了一個所謂的“axis-line”,在標簽旁邊并且和標簽平行。
- “grid-lines”,每個來自一個坐標標簽所在的水平方向。
- LimitLines,允許存在特殊的信息,如邊界或限制。
控制(軸的)哪些部分應該畫
- setEnabled(boolean enabled):設置軸啟用或禁用。如果禁用,軸的任何一部分都不會被繪制,不管其他任何設置。
- setDrawLabels(boolean enabled):設置為true,啟動繪制軸的標簽。
- setDrawAxisLine(boolean enabled):設置為true,啟動繪制軸線。
- setDrawGridLines(boolean enabled):設置為true,啟動繪制網格線。
定制軸范圍(最小/最大)
- setAxisMaximum(float max):為這個軸設置一個自定義的最大值。如果設置,這個值不會自動根據所提供的數據計算。
- resetAxisMaximum():撤銷先前設置的最大值。通過這樣做,你將再次允許軸自動計算它的最大值。
- setAxisMinimum(float min):為這個軸設置一個自定義的最小值。如果設置,這個值不會自動根據所提供的數據計算。
- resetAxisMinimum():撤銷先前設置的最小值。通過這樣做,你將再次允許軸自動計算它的最小值。
- setStartAtZero(boolean enabled):棄用,使用setAxisMinValue(…)或setAxisMaxValue(…)代替。
- setInverted(boolean enabled):如果設置為true,這個軸將倒轉,最高的值將在底部,最小值在頂部。
- setSpaceTop(float percent):設置圖表中最高值的頂部間距(以總軸范圍的百分比表示)與軸上的最高值的比較。
- setSpaceBottom(float percent):設置圖表中最低值與軸上的最低值相比的底部間距(以總軸范圍的百分比表示)。
- setShowOnlyMinMax(boolean enabled):如果啟用,該軸將僅顯示其最小值和最大值。 這將忽略/覆蓋定義的標簽計數(如果未強制)。
- setLabelCount(int count, boolean force):設置y軸的標簽數。 請注意,這個數字不是固定的(如果force == false),只能近似。 如果強制啟用(true),則繪制精確指定的標簽數量 - 這可能導致軸上的數字不均勻。
- setPosition(YAxisLabelPosition pos):設置軸標簽應該繪制的位置。 INSIDE_CHART或OUTSIDE CHART。
- setGranularity(float gran):設置y軸值之間的最小間隔。這可以用于在放大到為軸設置的小數位數不再允許在兩個軸值之間進行區分的點時避免值重復。
- setGranularityEnabled(boolean enabled):啟用在放大時限制y軸間隔的粒度特性。默認值:false。
樣式/修改軸
- setTextColor(int color):設置軸標簽的顏色。
- setTextSize(float size):設置軸標簽的文本大小(dp)。
- setTypeface(Typeface tf):為軸標簽設置自定義字體。
- setGridColor(int color):設置此軸的網格線的顏色。
- setGridLineWidth(float width):設置此軸的網格線的寬度。
- setAxisLineColor(int color):設置此軸的軸線的顏色。
- setAxisLineWidth(float width):設置此軸的軸線的寬度。
- enableGridDashedLine(float lineLength, float spaceLength, float phase):使得網格線能夠以虛線模式繪制,例如, 像這樣 ”- - - - - -”。 “lineLength”控制線段的長度,“spaceLength”控制線之間的間隔,“phase”控制起始點。
格式化軸值
對于格式化軸值,可以使用IAxisValueFormatter接口,如下所述。 您可以使用axis.setValueFormatter(IAxisValueFormatter formatter)方法將自定義格式化程序設置為軸。
限制線
兩個軸都支持所謂的LimitLines,允許提供特殊信息,如邊界或約束。 添加到YAxis的LimitLine在水平方向繪制,在添加到XAxis時在垂直方向繪制。 這是從軸中添加和刪除LimitLine的方法:
- addLimitLine(LimitLine l):向此軸添加新的LimitLine。
- removeLimitLine(LimitLine l):從該軸移除指定的限制線。
- 更多的添加/刪除可用方法。
- setDrawLimitLinesBehindData(boolean enabled):允許控制LimitLines和實際數據之間的z順序。 如果設置為true,則限制線繪制在實際數據后面,否則在頂部。 默認值:false。
限制線(LimitLine類)是(如名稱可能指示的)簡單和簡單的線可以用于為用戶提供附加信息。
例如,您的圖表可能會顯示用戶使用應用程序登錄的各種血壓測量結果。 為了通知用戶超過140 mmHg的收縮壓被認為是健康風險,您可以在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);