echarts的正太分布图
时间: 2023-09-20 22:14:20 浏览: 245
你可以使用 ECharts 来绘制正态分布图。首先,你需要准备一些数据来表示正态分布的曲线。以下是一个示例代码,演示如何使用 ECharts 绘制正态分布图:
```javascript
// 引入 ECharts
import echarts from 'echarts';
// 创建图表容器
const chartContainer = document.getElementById('chart-container');
const chart = echarts.init(chartContainer);
// 生成正态分布的数据
const data = [];
for (let i = -3; i <= 3; i += 0.1) {
const x = i;
const y = Math.exp(-0.5 * Math.pow(x, 2)) / Math.sqrt(2 * Math.PI);
data.push([x, y]);
}
// 配置图表选项
const option = {
title: {
text: '正态分布图'
},
xAxis: {},
yAxis: {},
series: [{
type: 'line',
smooth: true,
symbol: 'none',
areaStyle: {},
data: data
}]
};
// 渲染图表
chart.setOption(option);
```
以上代码首先引入了 ECharts 库,并创
相关问题
echarts正态分布图
要绘制echarts正态分布图,可以使用echarts中的柱状图(bar)和折线图(line)来实现。
首先,我们需要生成正态分布的数据,可以使用JS中的统计类库,例如mathjs。下面是一个生成1000个随机数的正态分布数据的示例代码:
```
var math = require('mathjs');
var data = math.random([1000], 'normal', 0, 1);
```
然后,在echarts中,我们可以使用柱状图来展示数据的分布情况。柱状图的高度表示数据的频率,柱状图宽度表示数据的区间。以下是一个绘制柱状图的示例代码:
```
var xAxisData = [];
var yAxisData = [];
var interval = 0.1;
var bins = math.range(-3, 3, interval).toArray();
for (var i = 0; i < bins.length - 1; i++) {
var count = 0;
for (var j = 0; j < data.length; j++) {
if (data[j] >= bins[i] && data[j] < bins[i + 1]) {
count++;
}
}
xAxisData.push((bins[i] + bins[i + 1]) / 2);
yAxisData.push(count);
}
var option = {
xAxis: {
type: 'value'
},
yAxis: {
type: 'value'
},
series: [{
type: 'bar',
data: yAxisData,
barWidth: interval * 50,
itemStyle: {
color: '#7cb5ec'
}
}]
};
var chart = echarts.init(document.getElementById('chart'));
chart.setOption(option);
```
接下来,我们可以使用折线图来展示正态分布的曲线。由于正态分布曲线是连续的,所以我们需要用折线图来模拟曲线。以下是一个绘制折线图的示例代码:
```
var curveData = [];
for (var i = -3; i < 3; i += interval) {
curveData.push(math.norm.pdf(i, 0, 1));
}
option.series.push({
type: 'line',
data: curveData,
itemStyle: {
color: '#434348'
},
lineStyle: {
color: '#434348'
}
});
chart.setOption(option);
```
最终的效果如下图所示:
![正态分布图](https://i.imgur.com/YD3v9B6.png)
echarts 正态分布曲线
要在 Echarts 中绘制正态分布曲线,可以使用 Echarts 的图表类型中的“线图”(line chart)和“面积图”(area chart)。具体步骤如下:
1. 定义 x 轴的取值范围,例如 [-4, 4],并将其分成多个小区间,例如每个小区间的宽度为 0.1。
2. 计算每个小区间的函数值,即正态分布的密度函数值,可以使用 JavaScript 中的 math 库进行计算。
3. 将计算得到的函数值作为 y 轴的取值,绘制线图或面积图。
4. 可以通过 Echarts 提供的配置项调整图表的样式,例如设置线条颜色、线条宽度、填充颜色等等。
下面是一个绘制正态分布曲线的示例代码:
```javascript
// 定义 x 轴的取值范围和步长
var xData = [];
for (var i = -4; i <= 4; i += 0.1) {
xData.push(i.toFixed(1));
}
// 计算正态分布曲线的函数值
var yData = [];
var mean = 0; // 均值
var stdDev = 1; // 标准差
for (var i = 0; i < xData.length; i++) {
var x = xData[i];
var y = (1 / (stdDev * Math.sqrt(2 * Math.PI))) * Math.exp(-Math.pow(x - mean, 2) / (2 * Math.pow(stdDev, 2)));
yData.push(y.toFixed(4));
}
// 绘制线图和面积图
var option = {
xAxis: {
type: 'category',
data: xData
},
yAxis: {
type: 'value'
},
series: [{
type: 'line',
data: yData,
lineStyle: {
color: 'blue',
width: 2
}
}, {
type: 'line',
data: yData,
areaStyle: {
color: 'blue'
},
itemStyle: {
opacity: 0
}
}]
};
// 使用 Echarts 绘制图表
var chart = echarts.init(document.getElementById('chart'));
chart.setOption(option);
```
阅读全文