如何在折线图中仅显示 24 小时柱形图?

Pra*_*ati 2 iphone charts ios swift ios-charts

我正在使用 Chart-ios,并设法在图表中显示数据,如下图所示。

在此输入图像描述

我的 Json 数据如下所示。field1+field2+field3i在 X 轴和created_aty 轴上显示。此数据为 1 天。

[
{
  "created_at": "2020-05-10T00:01:09Z",
  "field1": 17.57,
  "field2": 56.37,
  "field3": 44.06,
  "equipment": 3
},
{
  "created_at": "2020-05-10T00:01:55Z",
  "field1": 17.57,
  "field2": 54.52,
  "field3": 44.62,
  "equipment": 3
},
{
  "created_at": "2020-05-10T00:02:40Z",
  "field1": 21.63,
  "field2": 52.7,
  "field3": 51.27,
  "equipment": 3
},
{
  "created_at": "2020-05-10T00:03:26Z",
  "field1": 17.15,
  "field2": 54.95,
  "field3": 44.21,
  "equipment": 3
},
{
  "created_at": "2020-05-10T00:04:12Z",
  "field1": 15.97,
  "field2": 54.69,
  "field3": 41.36,
  "equipment": 3
},
{
  "created_at": "2020-05-10T00:04:57Z",
  "field1": 15.86,
  "field2": 38.58,
  "field3": 36.59,
  "equipment": 3
},
{
  "created_at": "2020-05-10T00:05:43Z",
  "field1": 7.66,
  "field2": 51.6,
  "field3": 45.46,
  "equipment": 3
}
..... 1000 more...
]
Run Code Online (Sandbox Code Playgroud)

我想要的是以 1 小时为间隔显示 x 轴标签。比如 11:00、12:00 和 13:00 等等。我想展示的是固定的 24 小时,仅此而已。但x值计数超过1000条记录。

那么我该怎么做呢?有人能指出我正确的方向吗?

谢谢

aiw*_*una 5

  1. X 值需要是 Double -> 通常我使用 timeIntervalSince1970
  2. 你需要一个 CustomValueFormatter
  3. 将 xAxis 最小值设置为 00:00
  4. 将 xAxis 最大值设置为 00:00 + 1 天
  5. xAxis.capsularity = 3600 -> 仅显示每小时的标签
  6. Chart.setVisibleXRange(minXRange: 5 * 3600, maxXRange: 5 * 3600) -> 仅显示 5 小时范围并滚动

检查这个项目:https ://github.com/aiwiguna/ExampleCharts/tree/feature/hourly-charts