echarts使用ajax从后端获取数据

饼图预览
在这里插入图片描述

https://echarts.apache.org/examples/zh/index.html

在上述网站选取图表,拷贝代码,将如下var opt替换成你的代码

前端代码

<div id="main" ></div>
<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));
    function getEchartWord() {
      $.ajax({//发送请求
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "${ctp}/echarts-word",
        dataType: "json",
        error: function (data) {
          alert("出错了!!:" + data);
        },
        success: function (data) {
            var opt={
                title: {
                    text: '大家在查',
                    left: 'center'
                },
                tooltip: {
                    trigger: 'item',
                    formatter: '{a} <br/>{b} : {c} ({d}%)'
                },
                legend: {
                    orient: 'vertical',
                    left: 'left',
                    data: []
                },
                series: [
                    {
                        name: '大家在查',
                        type: 'pie',
                        radius: '55%',
                        center: ['50%', '60%'],
                        data: [],
                        emphasis: {
                            itemStyle: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            };
            //后端动态更新数据
            for(var i=0;i<data.words.length;i++){
                opt.legend.data.push({value:data.numbers[i],name:data.words[i]});
                opt.series[0].data.push({value:data.numbers[i],name:data.words[i]});
            }
          myChart.setOption(opt);
        }
      });
    }
</script>

其中ajax返回的data的数据结构是

public class EchartsWord {
    @Getter
    @Setter
    private List<String> words;
    @Getter
    @Setter
    private List<String> numbers;
}

后端

private List<String> wordsInChart= Arrays.asList("also","show","propose","while","but");
private List<String> numInChart = Arrays.asList("300","100","23","20","7");

	@RequestMapping("/echarts-word")
    @ResponseBody
    public EchartsWord getEchartWord(){
        EchartsWord ew=new EchartsWord();
        ew.setWords(wordsInChart);
        ew.setNumbers(numInChart);
        return ew;
    }
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于DSP28335,你可以使用其内置的SCI(串行通信接口)模块来接收8位字节数据。以下是一种简单的代码示例,演示了如何设置SCI模块并进行数据接收: ```c #include "DSP2833x_Device.h" #include "DSP2833x_Examples.h" void initSCI() { // 配置GPIO引脚用于SCI通信 EALLOW; GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0; // 使能GPIO28上拉 GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0; // 使能GPIO29上拉 GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; // 设置GPIO28为双边沿触发 GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // 配置GPIO28为SCIRXDA引脚 GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // 配置GPIO29为SCITXDA引脚 EDIS; // 配置SCI模块 SciaRegs.SCICCR.all = 0x0007; // 8位数据,无奇偶校验,1个停止位 SciaRegs.SCICTL1.all = 0x0003; // 使能SCI接收和发送 SciaRegs.SCICTL2.bit.TXINTENA = 0; // 禁用发送中断 SciaRegs.SCICTL2.bit.RXBKINTENA = 0; // 禁用接收中断 SciaRegs.SCIHBAUD = 0x0000; // 设置波特率高字节 SciaRegs.SCILBAUD = 0x0027; // 设置波特率低字节 // 清除接收缓冲区中的数据 while (SciaRegs.SCIRXST.bit.RXRDY != 0) { volatile Uint16 temp = SciaRegs.SCIRXBUF.all; } } Uint16 receiveByte() { while (SciaRegs.SCIRXST.bit.RXRDY != 1); // 等待接收到数据 return SciaRegs.SCIRXBUF.bit.SAR; } void main(void) { InitSysCtrl(); initSCI(); Uint16 receivedData = receiveByte(); // 处理接收到的数据 } ``` 在这个示例中,首先通过配置GPIO引脚,将GPIO28配置为SCIRXDA引脚,用于接收数据。然后,配置SCI模块的控制寄存器和波特率寄存器,设置数据位数、校验位数、停止位数和波特率等参数。接下来,在`receiveByte`函数中,使用`SCIRXST`位来检查是否接收到了数据,如果有数据可用,则从`SCIRXBUF`寄存器读取接收到的数据。 你可以根据自己的需求修改代码,并根据需要添加错误检测和处理机制。希望这能帮到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值