質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

4970閲覧

[Swift] [iOS-Charts] 軸に関する設定の方法

ShionHonda

総合スコア11

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/12/05 07:24

Qiitaの記事[Swift] [iOS] チャート表示ライブラリ [ios-charts]を参考に、iOS-Chartsを使ってレーダーチャートを作ってみました。

オプション(特に軸に関する部分)がわからず、試行錯誤の末このようなコードを書いたのですが、点数を5科目とも100点に設定すると、グラフが拡大されて(?)読めなくなってしまいます。
点数を例えば let array = [90.0, 80.0, 90.0, 70.0, 20.0]と設定し直すと、もう1枚の画像のように表示されます。グリッド線が20刻みになっていないことなどから、軸の設定に問題があると予想しているのですが、解決法がわかりません。

Xcode 8.1 / swift 2.3 / Charts 2.3.1 を使用しています。

何かアドバイスをいただければ幸いです。よろしくお願いいたします。

import UIKit import Charts class ViewController: UIViewController { @IBOutlet weak var radarChartView: RadarChartView! //ラベル let subjects = ["国語", "英語", "数学", "理科", "社会"] //点数 let array = [100.0, 100.0, 100.0, 100.0, 100.0] override func viewDidLoad() { super.viewDidLoad() setChart(subjects, values: array) print("array:") print(array) } func setChart(dataPoints: [String], values: [Double]) { radarChartView.noDataText = "You need to provide data for the chart." var dataEntries: [ChartDataEntry] = [] for i in 0..<dataPoints.count { let dataEntry = ChartDataEntry(value: values[i], xIndex: i) dataEntries.append(dataEntry) } let chartDataSet = RadarChartDataSet(yVals: dataEntries, label: "Units Sold") let chartData = RadarChartData(xVals: subjects, dataSet: chartDataSet) radarChartView.data = chartData //radarChartのオプション radarChartView.sizeToFit() radarChartView.descriptionText = "" //ここから軸の設定。表示範囲は0から100までとし、20刻みでグリッド線を入れる radarChartView.yAxis.labelCount = 6 radarChartView.yAxis.axisMinValue = 0.0 radarChartView.yAxis.axisMaxValue = 100.0 //ここまで軸の設定 radarChartView.rotationEnabled = false chartDataSet.drawFilledEnabled = true //値は整数で表示 let numberFormatter = NSNumberFormatter() numberFormatter.generatesDecimalNumbers = false chartDataSet.valueFormatter = numberFormatter radarChartView.yAxis.valueFormatter = numberFormatter //その他のオプション! radarChartView.legend.enabled = false radarChartView.yAxis.gridAntialiasEnabled = true radarChartView.animate(yAxisDuration: 2.0) }

拡大されて読めません
グリッド線の間隔が10になってしまいます

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

設定が終わってからデータをセットして下さい。

swift

1func setChart(dataPoints: [String], values: [Double]) { 2 //色々設定 3 : 4 //データセット 5 radarChartView.data = chartData //※ここ 6 //アニメーション! 7 radarChartView.animate(yAxisDuration: 2.0) 8}

投稿2016/12/06 07:37

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShionHonda

2016/12/06 08:17

ありがとうございます。 順番が重要だったのですね。 おかげさまで、苦しんでいたところがすっきり解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問