如果我们想建立一个横坐标是类目型(category)、纵坐标是数值型(value)的折线图,我们可以使用这样的方式:
option = {
xAxis: {
type: “category”,
data: [“a”, “b”, “c”],
},
yAxis: {
type: “value”,
},
series: [
{
type: “line”,
data: [1, 2, 3],
},
],
};
只需要把类型设置为line
即可
这里
xAxis
和yAxis
的type
属性都可以隐去不写。因为坐标轴的默认类型是数值型,而xAxis
指定了类目型的data
,所以ECharts
也能识别出这是类目型的坐标轴。
为了让大家更容易理解,我们特意写了
type
。在实际的应用中,如果是'value'
类型,也可以省略不写。
如果我们希望折线图在横坐标和纵坐标上都是连续的,即在笛卡尔坐标系中,只要把 series
的 data
每个数据用一个包含两个元素的数组表示就行了。
option = {
xAxis: {},
yAxis: {},
series: [
{
data: [
[1, 2],
[2, 1],
[3, 4],
],
type: “line”,
},
],
};
折线图样式
折线图中折线的样式可以通过 lineStyle
设置。可以为其指定颜色、线宽、折线类型、阴影、不透明度等等,具体的可以参考配置项手册 series.lineStyle
了解。
这里,我们以设置颜色(color)、线宽(width)和折线类型(type)为例说明。
option = {
xAxis: {
data: [“a”, “b”, “c”, “d”, “e”, “f”],
},
yAxis: {},
series: {
data: [1, 2, 3, 4, 5, 6],
type: “line”,
lineStyle: {
normal: {
color: “red”,
width: 3,
type: “dashed”,
},
},
},
};
数据点样式
数据点的样式可以通过 series.itemStyle
指定填充颜色(color)、描边颜色(borderColor)、描边宽度(borderWidth)、描边类型(borderType)、阴影(shadowColor)、不透明度(opacity)等。
案例:
option = {
xAxis: {
data: [“a”, “b”, “c”, “d”, “e”, “f”],
},
yAxis: {},
series: {
data: [1, 2, 3, 4, 5, 6],
type: “line”,
lineStyle: {
normal: {
opacity: 0,
},
},
},
};
在系列中,这数据点的标签通过 series.label
属性指定。
如果将 label
下的 show
指定为true
,则表示该数值默认时就显示;
如果为 false
,而 series.emphasis.label.show
为 true
,则表示只有在鼠标移动到该数据时,才显示数值。
option = {
xAxis: {
data: [“a”, “b”, “c”, “d”, “e”, “f”],
},
yAxis: {},
series: {
data: [1, 2, 3, 4, 5, 6],
type: “line”,
label: {
show: false,
position: “top”,
textStyle: {
fontSize: 20,
},
},
emphasis: {
label: {
show: true,
},
},
},
};
在一个系列中,可能一个横坐标对应的取值是“空”的,将其设为 0 有时并不能满足我们的期望–空数据不应被其左右的数据连接。
在 ECharts 中,我们使用字符串 '-'
表示空数据,这对其他系列的数据也是适用的。
option = {
xAxis: {
data: [“a”, “b”, “c”, “d”, “e”, “f”],
},
yAxis: {},
series: {
data: [1, 2, ‘-’, 4, 5, 6],
type: “line”,
},
};
====================================================================
与堆叠柱状图类似,堆叠折线图也是用系列的 stack
设置哪些系列堆叠在一起。
option = {
xAxis: {
data: [“a”, “b”, “c”, “d”, “e”, “f”],
},
yAxis: {},
series: [
{
data: [1, 2, 3, 4, 5, 10],
type: “line”,
stack: “x”,
},
{
data: [6, 5, 4, 3, 2, 1],
type: “line”,
stack: “x”,
},
],
};
但是不同的是,如果不加说明的话,我们很难判断出这是一个堆叠折线图,还是一个普通的折线图。
所以,对于堆叠折线图而言,一般建议使用区域填充色以表明堆叠的情况。
option = {
xAxis: {
data: [“a”, “b”, “c”, “d”, “e”, “f”],
},
yAxis: {},
series: [
{
data: [1, 2, 3, 4, 5, 10],
type: “line”,
stack: “x”,
areaStyle: {},
最后
其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)
《前端开发四大模块核心知识笔记》
最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。