2017-07-04 4 views
1
私はiOSの-チャートのフレームワークを使用して、次のチャートを持っています

を設定します円の中に表示されます。これを達成することは可能ですか?変更位置は、内部のデータが丸

答えて

0

インサイドLineChartRenderer.swift、テキストが描画されているときのyの値を増加させ、私はこの例では30で、それを増やす:

if dataSet.isDrawValuesEnabled { 
        ChartUtils.drawText(
         context: context, 
         text: formatter.stringForValue(
          e.y, 
          entry: e, 
          dataSetIndex: i, 
          viewPortHandler: viewPortHandler), 
         point: CGPoint(
          x: pt.x, 
          y: pt.y - CGFloat(valOffset) - valueFont.lineHeight + 30), 
         align: .center, 
         attributes: [NSFontAttributeName: valueFont, NSForegroundColorAttributeName: dataSet.valueTextColorAt(j)]) 
} 

結果:

enter image description here

+0

これは素晴らしい感謝を探しますLineChartRenderer.swiftはいくつかのチャートに影響するため、実際には変更できません。この変更を達成するために推奨される方法は何でしょうか? –

+0

LineChartRendererCustom.swiftという名前の新しいファイルを作成し、LineChartRenderer.swiftからすべてのコードを追加して、上で提案した変更を追加します。次に、サークルの内側にテキストを配置する場合は、そのカスタムレンダラをグラフに使用します。 – DevB2F

+0

ええ、私はそれを試みた。私は自分のプロジェクトでカスタムLineChartRendererを作成し、実装上にコピーしましたが、いくつかの "_xBounds"は内部の "保護レベル"エラーのためにアクセス不可能になっています。 Cocoapodsを使用してチャートを組み込み、ソースを変更することは実際の選択肢ではありません。 –

関連する問題