Javascript 画圈

Javascript 画圈,javascript,charts,echarts,ngx-echarts,apache-echarts,Javascript,Charts,Echarts,Ngx Echarts,Apache Echarts,我有以下Apache EChart: var option = { series: [ { name: 'RollPitch', type: 'gauge', data: [ { value: 0, name: '', itemStyle: { color: '#CF4437' },

我有以下Apache EChart:

var option = {
    series: [
        {
          name: 'RollPitch',
          type: 'gauge',
          data: [
            {
              value: 0,
              name: '',
              itemStyle: { color: '#CF4437' },
            },
          ],
          min: 0,
          max: 360,
          splitNumber: 4,
          splitLine: {
            show: false,
          },
          startAngle: 0,
          endAngle: 359.9999999,
          axisLine: {
            lineStyle: {
              color: [[100, '#D8D8D8']],
              width: 50,
            },
          },
          axisTick: {
            show: false,
          },
          pointer: {
            show: true,
            length: '110%',
            width: 8,
          },
          detail: {
            show: false,
          },
        },
      ],
};
?

我想做的是画一个给定x和y坐标的圆

有人能告诉我一个可能的解决方案是如何实现的吗?
我应该在ECharts创作的画布上画画吗?如何映射位置?

要绘制形状,可以使用以下两种方法:

  • (对于本案例而言,成本太高且太复杂)
  • 使用(更合适的选项)
  • 通常,您需要添加组件,然后设置预定义的形状
    circle
    ,这样您将有一个小圆圈

    var选项={
    图形:[{
    要素:[{
    id:'小圆圈',
    键入:“圆”,
    z:100,
    形状:{
    cx:350,
    赛:200,
    r:20,
    },
    风格:{
    填充:“rgba(0,140250,0.5)”,
    笔划:“rgba(0,50,150,0.5)”,
    线宽:2,
    }
    }]
    }]
    //系列:[……]
    }
    
    奖励:如何更新圆坐标:

    var myChart=echart.init(document.getElementById('main'); var选项={ 图形:[{ 要素:[{ id:'小圆圈', 键入:“圆”, z:100, 形状:{ //“…画一个给定x和y坐标的圆。”-在这里 cx:350, 赛:200, r:20, }, 风格:{ 填充:“rgba(0,140250,0.5)”, 笔划:“rgba(0,50,150,0.5)”, 线宽:2, } }] }], 系列:[{ 名称:'RollPitch', 类型:“仪表”, 数据:[{ 值:0, 名称:“”, 项目样式:{ 颜色:“#CF4437” }, }, ], 分:0,, 最高:360, 电话号码:4,, 分割线:{ 秀:假,, }, startAngle:0, 端角:359.999999, 轴线:{ 线型:{ 颜色:[ [100,#D8D8D8'] ], 宽度:50, }, }, axisTick:{ 秀:假,, }, 指针:{ 秀:没错, 长度:“110%”, 宽度:8, }, 详情:{ 秀:假,, }, }, ], }; myChart.setOption(选项); /*取自https://stackoverflow.com/a/35455786/1597964 */ 函数极笛卡尔坐标(centerX、centerY、半径、angleInDegrees){ var angleInRadians=(angleInDegrees-90)*Math.PI/180.0; 返回[ centerX+(半径*数学坐标(角度半径)), centerY+(半径*数学正弦(角半径)) ] } var角=90; setInterval(函数(){ var[cx,cy]=极笛卡尔坐标(300,200,50,角); myChart.setOption({ 图形:[{ id:'小圆圈', 形状:{ cx:cx, 西:西, } }] }); 角度=角度+1; }, 20);