系列基础

每个系列都有一组共同的属性和方法,无论其类型如何。

例如,要创建任何类型的系列,您可以传递title参数来设置系列标题。

这里描述了这些常见参数和 API。如果您想查看特定类型系列的 API,请参阅相关文档页面。

创建系列

要创建任何类型的系列,您需要调用chart.add <type> Series方法,其中<type>是要添加到图表的系列类型。

例如:

  • 创建线系列:

    const lineSeries = chart.addLineSeries();
    
  • 创建面积系列:

    const areaSeries = chart.addAreaSeries();
    
  • 创建 K 线系列:

    const barSeries = chart.addBarSeries();
    

参数

创建系列时,您可以指定要更改的系列参数。

以下是全部系列的通用参数:

名称 类型 默认值 描述
overlay boolean false 系列是否为 overlay
title string '' 将图表添加到图表时,可以命名系列。 此名称将显示在最后一个值标签旁边的标签上
scaleMargins { top, bottom } undefined overlay边距

例子:

const lineSeries = chart.addLineSeries({
  overlay: true,
  title: "Series title example",
  scaleMargins: {
    top: 0.1,
    bottom: 0.3
  }
});

Overlay

将任何系列添加到图表时,您可以指定是否要将目标系列附加到价格轴。默认情况下,系列附加到价格轴。 这意味着可以使用价格轴来缩放系列。请注意,价格轴可见范围取决于系列值。 相比之下,叠加系列只是在独立于价格轴的图表上绘制。

const lineSeries = chart.addLineSeries({
  overlay: true
});

标题

将任何系列添加到图表时,可以通过向title属性添加字符串来命名。 此名称将显示在最后一个值标签旁边的标签上。

const lineSeries = chart.addLineSeries({
  title: "Series title example"
});

刻度边距

通常,我们不希望系列绘制的图表边框太靠近。它需要在顶部和底部有一些边距。

默认情况下,库在数据下方(10%)和数据上方(20%)保留空白区域。

可以使用图表选项为可见轴调整这些值。但是,您也可以通过 Overlay 系列定义它们。

边距是具有以下属性的对象:

  • top
  • bottom

对象的每个值都是 0(0%)和 1(100%)之间的数字。

const lineSeries = chart.addLineSeries({
  overlay: true,
  scaleMargins: {
    top: 0.6,
    bottom: 0.05
  }
});

上面的代码将系列放在图表的底部。

您可以使用ChartApi.applyOptions为可见轴更改边距:

chart.applyOptions({
  priceScale: {
    scaleMargins: {
      top: 0.6,
      bottom: 0.05
    }
  }
});

数据

每个系列都有自己的数据类型。 请参阅系列页面以确定该系列使用的数据类型。

方法

options

返回当前应用的完整选项集,包括默认值。

applyOptions

此方法用于将新选项应用于系列。

您可以在创建系列时初始选项设置,或使用系列的 applyOptions 方法更改现有选项。

请注意,您只能传递要更改的选项。

每个系列类型都有自己的选项。但是,所有类型的系列都有一些共同的选项。

Price line

价格线是在最后价格水平上绘制的水平线。

默认情况下,其颜色由最后一个 k 线颜色(或线条和面积图上的线条颜色)决定。

您可以设置它的宽度,样式和颜色,或使用以下选项将其禁用:

名称 类型 默认值 描述
priceLineVisible boolean true 如果为 true,则会在图表上显示系列的价格线
priceLineWidth number 1 价格线的宽度(以像素为单位)
priceLineColor string '' 价格线的颜色
priceLineStyle LineStyle LineStyle.Dotted 价格线的样式

例子:

series.applyOptions({
  priceLineVisible: false,
  priceLineWidth: 2,
  priceLineColor: "#4682B4",
  priceLineStyle: 3
});

Price labels

默认情况下,最后一个价格值作为显示在价格刻度的相关级别的标签。 还有一个隐藏它的选项。

名称 格式 默认值 描述
lastValueVisible boolean true 如果为 true,则在价格标尺上显示具有当前价格值的标签

Example:

series.applyOptions({
  lastValueVisible: false
});

Base line

基准线是在percentageindexedTo100模式下在零级绘制的水平线。 您可以设置此行的宽度,样式和颜色,或使用以下选项将其禁用:

Name Type Default Description
baseLineVisible boolean true 如果为 true,则在图表上显示系列的基准线
baseLineWidth number 1 基准线的宽度(以像素为单位)
baseLineColor string '#B2B5BE' 基准线的颜色
baseLineStyle LineStyle LineStyle.Solid 基准线的样式

例子:

series.applyOptions({
  baseLineVisible: true,
  baseLineColor: "#ff0000",
  baseLineWidth: 3,
  baseLineStyle: 1
});

Price format

提供四种价格格式,用于在价格标尺上显示:

  • price 格式,默认设置,显示绝对价格值
  • volume 格式,减少超过 1000 的值的位数,用字母替换零。 例如,1000绝对价格值以格式化显示为1K
  • percent 格式,用百分比变化替换绝对值。
  • custom 格式,使用用户定义的函数进行价格格式化,可以在某些特定情况下使用,标准格式器不包括这些函数

以下选项可用于设置任何类型的系列显示的价格格式:

名称 类型 默认值 描述
type price | volume | percent | custom price 设置按系列显示的价格类型
precision number 2 指定用于显示价格值的小数位数
minMove number 0.01 设置价格值移动的最小步长
formatter function | undefined undefined 设置typecustom时使用的格式化函数

例子:

series.applyOptions({
  priceFormat: {
    type: "volume",
    precision: 3,
    minMove: 0.05
  }
});
series.applyOptions({
  priceFormat: {
    type: "custom",
    minMove: 0.02,
    formatter: function(price) {
      return "$" + price.toFixed(2);
    }
  }
});

setData

允许使用新数据设置/替换所有现有数据。

参数类型为系列项目数组。

例子:

lineSeries.setData([
  { time: "2018-12-12", value: 24.11 },
  { time: "2018-12-13", value: 31.74 }
]);
barSeries.setData([
  {
    time: "2018-12-19",
    open: 141.77,
    high: 170.39,
    low: 120.25,
    close: 145.72
  },
  { time: "2018-12-20", open: 145.72, high: 147.99, low: 100.11, close: 108.19 }
]);

updateData

将新数据项添加到现有数据集(如果已通过/最新项的时间相等,则更新最新项)

参数类型为系列项目。

例子:

lineSeries.updateData({
  time: "2018-12-12",
  value: 24.11
});
barSeries.updateData({
  time: "2018-12-19",
  open: 141.77,
  high: 170.39,
  low: 120.25,
  close: 145.72
});

下一个阅读

results matching ""

    No results matching ""