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

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

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

dateは、date型や日付に関する関数や処理についてのタグです

iOS

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

Xcode

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

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

0回答

1021閲覧

Swift chartsで棒グラフのx軸を時系列に表示させたい。

terachan777

総合スコア1

date

dateは、date型や日付に関する関数や処理についてのタグです

iOS

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

Xcode

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

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2021/07/17 04:52

Swiftのグラフを作成するchartsライブラリでX軸に曜日、Y軸に歩数を表示する棒グラフを作成しました。X軸はIAxisValueFormatter を使ってSunからSatまで表示させる([Sun,Mon,Tue,Wed,Thu,Fri,Sat])ことができたのですが、例えば今日が水曜日なら[Thu,Fri,Sat,Sun,Mon,Tue,Wed]の順番に表示させたいのですが、やり方が分からず困っております。どなたかご教示いただけると大変助かります。
開発環境:Xcode version 12.5 MacOS Big Sur version 11.2.3

ソースコード:

class XAxisValueFormatter: NSObject, IAxisValueFormatter {

let week = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"] func stringForValue(_ value: Double, axis: AxisBase?) -> String { return week[Int(value)] }

}

func setUpBarChart(values:[Step]){ self.barChartView.frame = CGRect(x: 20, y: 450, width: self.view.frame.width - 40, height: (self.view.frame.width - 40)/2) barChartView.backgroundColor = .clear barChartView.xAxis.labelPosition = .bottom barChartView.xAxis.labelTextColor = .systemBlue barChartView.xAxis.drawGridLinesEnabled = false barChartView.xAxis.drawAxisLineEnabled = false barChartView.xAxis.labelCount = 7 barChartView.xAxis.valueFormatter = XAxisValueFormatter() barChartView.rightAxis.enabled = false barChartView.leftAxis.enabled = true barChartView.leftAxis.labelTextColor = .systemBlue barChartView.leftAxis.drawAxisLineEnabled = false barChartView.legend.enabled = false barChartView.animate(xAxisDuration: 1) var entry = [BarChartDataEntry]() for i in 0..<values.count { let weekday = Calendar.current.component(.weekday, from: values[i].date) entry.append(BarChartDataEntry(x:Double(weekday-1), y:Double(values[i].count))) weeklyAverage += values[i].count } weeklyAverage = Int(weeklyAverage / 7) aveLine = ChartLimitLine(limit: Double(weeklyAverage)) aveLine.lineColor = .systemBlue aveLine.lineDashLengths = [4] barChartView.leftAxis.addLimitLine(aveLine) weeklyAverage = 0 let dataSet = BarChartDataSet(entries: entry, label:"") dataSet.valueTextColor = .blue barChartView.data = BarChartData(dataSet: dataSet) scrollView.addSubview(barChartView) }

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問