WPF中LiveCharts2折线图折腾记录
记录LiveCharts2在WPF里画折线图的基本用法、几个容易踩的坑,以及性能优化和部分高级功能。
支持通配符SSL证书、多域名证书、IP证书。适配ACME接口, 支持Zerossl、Let's Encrypt和Google等渠道。登录已有账号
2026-07-18 13:15:39 ECharts 折线图 样式配置 前端 数据可视化
最近项目里折线图用得比较多,每次去翻 ECharts 的配置项手册有点烦,顺手把常用的几个样式点整理了一下。
边用边记,后面再配图直接照这个改就行。
先从最基础的说起。
一个折线图至少要有横纵坐标和一组数据。横坐标一般是类目轴,type 用 'category',把标签扔进 data 数组;纵坐标默认就是数值轴,不写 type 也没事。
xAxis: {
type: 'category',
data: ['A', 'B', 'C']
},
yAxis: {
type: 'value'
}
数据塞在 series 数组里,type 指定 'line',data 里按顺序放数值。这样就能跑出一个最朴素的折线图。
series: [{
data: [120, 200, 150],
type: 'line'
}]
接下来就是实际会频繁改动的部分——线、点、标签。
线条本身的样式在 lineStyle 里控制。颜色、粗细、实线虚线都在这。比如想画一条加粗的绿色虚线:
lineStyle: {
color: 'green',
width: 4,
type: 'dashed'
}
数据点默认是小圆圈,想换颜色或加个描边就用 itemStyle。color 是填充色,borderColor 和 borderWidth 描边。比如红色填充、黑边:
itemStyle: {
color: 'red',
borderColor: 'black',
borderWidth: 2
}
标签就是每个数据点旁边显示的那个数值。默认是不显示的,得把 label.show 打开。position 可以放 'top'、'bottom',文字大小在 textStyle 里调。
label: {
show: true,
position: 'bottom',
textStyle: {
fontSize: 20
}
}
这几个配置项基本都是绑在一起用的,把它们塞到同一个 series 对象里就行。
有个地方容易绕进去,就是空值。
假如某个点的数据缺失,别写 0,也别写 null。写 0 它会真的给你画到 0 的位置上去,折线掉下去一截,数据含义就错了。用字符串 '-' 来表示空,ECharts 会直接跳过这个点,折线在这里断开。我一开始也拿 null 试过,发现还是会连起来,后来看文档才切到 '-'。
series: [{
data: [0, 22, '-', 23, 19],
type: 'line'
}]
这里注意,0 和 '-' 是两码事,0 是有效数值。
还有几个用得上的效果。想让折线变成平滑曲线,一行 smooth: true 就够了。
series: [{
data: [10, 22, 28, 23, 19],
type: 'line',
smooth: true
}]
阶梯线图,数据变化时走直角,加个 step 属性,一般用 'end' 的效果就是常见的阶梯状。
series: [{
data: [10, 22, 28, 23, 19],
type: 'line',
step: 'end'
}]
如果想给线下面积填色,areaStyle 给个空对象就启用默认填充,颜色会取线条色的半透明。
也可以自己设置颜色、渐变什么的,这里就先不展开了。
series: [{
data: [10, 22, 28, 23, 19],
type: 'line',
areaStyle: {}
}]
把这些拼起来,一个带样式、标签、虚线和填充的折线图差不多就是这个样子。下面是一份完整的 html,直接打开能跑,方便复制走改数据。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts 折线图样式配置</title>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
var option = {
xAxis: {
type: 'category',
data: ['A', 'B', 'C', 'D', 'E']
},
yAxis: {
type: 'value'
},
series: [{
data: [10, 22, '-', 23, 19],
type: 'line',
lineStyle: {
color: 'green',
width: 4,
type: 'dashed'
},
label: {
show: true,
position: 'bottom',
textStyle: {
fontSize: 20
}
},
itemStyle: {
color: 'red',
borderColor: 'black',
borderWidth: 2
}
}]
};
myChart.setOption(option);
</script>
</body>
</html>
日常图表配到这份上基本够用了,特殊需求再翻文档补细节。
记录LiveCharts2在WPF里画折线图的基本用法、几个容易踩的坑,以及性能优化和部分高级功能。
分享 Socket.IO 自动重连的参数配置、常见坑和手动控制方案,帮你避开线上事故。
深入解析ECharts自定义地图的加载流程,从GeoJSON数据准备、地图注册到实例配置,步步为营。同时,详细探讨ECharts库及地图注册功能的错误处理机制,确保数据可视化项目的稳定性和准确性,助力开发者打造高性能、兼容性强的交互式地图应用。
还在为Matplotlib图表中文显示乱码而烦恼吗?本文深入剖析问题根源,提供代码内临时指定字体、手动设置字体路径及修改配置文件三种实用解决方案。无论新手老手,都能迅速掌握,让你的数据图表告别乱码,清晰可读。
本文深入探讨MATLAB中坐标轴的属性设置与可视化优化策略。详细介绍了如何利用`xlim`、`ylim`等函数精准控制坐标轴范围,通过`xlabel`、`ylabel`和`set`函数定制标签样式,并有效管理刻度。文章还涵盖了动态范围调整、坐标轴方向与比例控制等高级技巧,旨在帮助用户全面提升MATLAB图形的专业性和表现力。