2016-08-20 53 views
8

我有一個圖表庫問題。我面臨的問題是條形圖不符合我的觀點。下圖顯示,第一個和最後一個欄都被切成兩半,最高欄的標籤也被部分切割。iOS圖表Swift條形圖超出視圖

Bars and labels are cut along the graph borders

當我在網上搜索,我得到了下面的線程https://github.com/danielgindi/Charts/issues/353這似乎是描述完全相同的問題。

我使用一個簡單的數據集與6個指數的一些隨機數。數據添加到圖表如下:

let values: [Int] = [5, 8, 1, 2, 1, 2] 
var dataEntries: [BarChartDataEntry] 

for i in 0..<values.count { 
    let dataEntry = BarChartDataEntry(x: Double(i), y: Double(values[i])) 
    dataEntries.append(dataEntry) 
} 

let chartDataSet = BarChartDataSet(values: dataEntries, label: "Count") 
let chartData = BarChartData(dataSet: chartDataSet) 
barChartView.data = chartData 

希望有人能幫助我。提前致謝!

回答

16

有在圖書館關於計算x軸的最小和最大的錯誤。

您可以手動設置xAxis的最小值和最大值,以防止第一個和最後一個小節顯示爲一半。

添加下面的代碼行,它應該工作得很好。

yourBarChartView.xAxis.axisMinimum = -0.5; 
yourBarChartView.xAxis.axisMaximum = Double(yourAxisDataList.count) - 0.5; 
+0

謝謝,工作喜歡魅力!我會將這個答案標記爲正確的,因爲我預計會有更多人遇到這個問題。雖然ashmi123爲標籤問題提供了合適的答案。 – Woodahack

+0

您確定您使用的是最新的圖書館版本?由於此bug在v2.2.5中得到了修復,因此不需要添加此代碼。我也在新版本的應用程序中檢查了它,並且按預期工作。 –

+0

對於分支Chart3.0-Swift2.3中的版本,這個破解仍然有效。謝謝! – Voldy

5

您可以添加偏移頂部和下面仰視圖:

barChartView.extraTopOffset = 40.0f; 
barChartView.extraBottomOffset = 10.0f; 
+0

非常感謝你,這似乎已經解決了標籤問題。不幸的是,半條的問題仍然存在,它不是通過設置extraLeftOffset/extraRightOffset來解決的。當我運行演示應用程序時,它似乎正確顯示條形圖。 – Woodahack

+0

你可以顯示圖像的確切位置嗎? – ashmi123

+0

我以前的帖子中的鏈接仍然適用於截止日期。它似乎把酒吧切成兩半。改變viewcontroller的大小似乎沒有幫助。 http://i.stack.imgur.com/iW17f.png – Woodahack

0

如果是垂直條形圖

barChartView.xAxis.spaceMin = 5.0f; 
barChartView.xAxis.spaceMax = 5.0f; 

如果是Horizantal條形圖

barChartView.leftAxis.spaceBottom = 0.0 

或 barChartView.rightAxis。

0

您可以嘗試編輯條形圖的xAxis值,其值介於-0.99 ...到-0.5之間。 檢查這個例子:

enter image description here

有了:yourBarChart.xAxis.axisMinimum = -0.5

enter image description here

有了:yourBarChart.xAxis.axisMinimum = -0.99