Incubator-echarts: 关于折线图y轴刻度自定义的问题

Created on 12 Dec 2016  ·  27Comments  ·  Source: apache/incubator-echarts

折线图,echarts版本为3.x
x轴type为category。
y轴type为value。
数据区间为20-50.
期望y轴显示0,25,50,75,100这几个刻度。
请教如何配置,或者其他替代方案。

enhancement stale

Most helpful comment

image
确实存在很多场景是需要不等距,比如图片这样,因为有几个数据值太大,值小的数据全部堆积在一起,视觉效果很差。如果可以设置不等距,那下面显示就会好看许多。

All 27 comments

yAxis: {
  min: 0,
  max: 100,
  interval: 25
}

感谢回答, 我这面只是举个例子,实际项目中,我的这几个刻度是不定的,数据大多是小数,期望可以通过传值的方式,显示刻度。请问可以做到吗?

如果不是等距间隔的话暂时不行

多谢回答, 希望后期可以加入此配置项, 这样的需求还是挺多的。
感谢echarts团队。。

能否列举一个你觉得必须要自己定义刻度值的例子?谢谢

我需要通过折线图来画股票的分时图。
需要一个开盘价, 一个最高价,一个最低价()。 最高价和开盘价中间的那个值。 最低价和开盘价之间的那个值。 一共五个刻度。 但是目前, 好像没法设置。。

其实需要的还是很多的,比如按照距离显示公交站的名称等等!

两年前就有人这么问了这是当时的回复:
“引用来自“Kener-林峰”的评论暂不支持不等距折柱,已经排到下个版本的升级计划里。谢谢关注。”

我想问一下echarts3.0,当设置成x轴为time类型时,怎么让刻度显示一年的时间,并且是这样显示的2016-1-1,2016-2-1,2016-3-1,2016-4-1,2016-5-1,2016-6-1,2016-7-1,2016-8-1,2016-9-1-2016-10-1 ....2016-12-31也就是说平均分割成12份

我想问一下echarts3.0,当设置成x轴为time类型时,怎么让刻度显示一年的时间,并且是这样显示的2016-1-1,2016-2-1,2016-3-1,2016-4-1,2016-5-1,2016-6-1,2016-7-1,2016-8-1,2016-9-1-2016-10-1 ....2016-12-31也就是说平均分割成12份 @pissang 大神这该怎么设置呢

设成时间之后,format lable就可以了

我也遇到同样的需求。请问一下,现在的最新版本还是不能支持吗?

+1. 希望在对数坐标轴中自定义刻度值。

强烈希望可以设置成轴不是等距间隔的!如:0,20,50,100,200,500,1000
举例:有大量数据在0到100之间,但又有以小分部在200到1000之间。如果设置成等距的,那么小于100的点会被挤压到图的下半部分,整个图的视觉效果会很差。(主要是不想用缩放,因为需要看到整个视图)

image
确实存在很多场景是需要不等距,比如图片这样,因为有几个数据值太大,值小的数据全部堆积在一起,视觉效果很差。如果可以设置不等距,那下面显示就会好看许多。

y轴刻度不显示有大神知道是怎么回事么?

yAxis: {
inverse: true,
axisLine: {
show: false
},
axisLabel: {
show: true
},
splitLine: {
show: true
},
axisTick: {
show: true
},
min: 'auto',
max: 'auto'
},

timg
比如我要画这个图,横轴从0到0.01是一个比列,0.01到374是一个比列。怎么画

yAxis: [
{
type: 'value',
name: '在厅人数(人)',
min: 0,
max: 100,
interval:5
axisLabel: {
formatter: function (value, index) {
return value
}
}
}
],

我想显示0,5,10,15,20,25,50,75,100改如何处理?

“数据值太大,值小的数据全部堆积在一起,视觉效果很差”,如果echart暂时还不支持自定义轴间距,可以考虑将数据转化一下再画图。比如做一下离散化处理或者同时除以某个数(均值,中位等)。只要不破坏数据之间的关系即可。

yAxis: {
type: 'value',
min: 0,
max: 100,
splitLine: { show: false },//去除网格线
axisLabel: {
formatter: function (value, index) {
var Yshat = [0, 20, 40, 60, 80, 100]
value = Yshat[index];
return value;
},
},
axisLine: {
lineStyle: {
color: 'white'
}
}
},

能否列举一个你觉得必须要自己定义刻度值的例子?谢谢

例子比如绘制泰勒曲线的时候,需要的时X轴能够自定义显示某些数字。

https://github.com/ecomfe/echarts-examples/issues/6

image
为啥y轴显示不出小数的刻度线

能否列举一个你觉得必须要自己定义刻度值的例子?谢谢

我想问一下这样的例子,使用 echarts 可以实现吗,谢谢 @pissang

image

可以使用markline模仿
源地址:http://www.tdon.site/post/26

之前我们也有这样的场景,是通过两个方案解决的:
1、对数据进行一定处理,比如增大小数据的y坐标,减小大数据的坐标
2、用formatter对yAxis进行过滤

近似的实现y轴的不均匀展示。
这种方法的缺点在于,对原始数据要进行归一化处理,展示出来的图形不一定能反应真实情况。

ps:如果有需要的话我弄个例子,求一笔需要实现的数据

这个需求我这边也有了 请问这个功能加上了么?

这个需求还没加上吗?期望echarts团队给给力!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

believeZJP picture believeZJP  ·  22Comments

lwx466714769 picture lwx466714769  ·  63Comments

lulu3976003 picture lulu3976003  ·  22Comments

xzlmoon picture xzlmoon  ·  21Comments

sweetyluo picture sweetyluo  ·  16Comments