Xchart3.8实现获取顶点位置信息

文章介绍了如何在Unity中使用XCharts插件,通过获取BaseChart组件的系列数据,实现图像标签(Imagetag)随图表坐标轴数据移动。更新函数中,通过ChartHelper类的GetPos方法计算并设置顶点位置。
摘要由CSDN通过智能技术生成

请添加图片描述
请添加图片描述
实现跟随坐标轴移动捕获顶点

代码如下:

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using XCharts.Runtime;

public class Demo : MonoBehaviour
{
    public Image tag;
    public int index;

    private BaseChart chart;

    private void Awake()
    {
        chart = this.GetComponent<BaseChart>();
    }

    private void Update()
    {
        tag.transform.position = chart.GetPos(0, index);
    }
}


public static class ChartHelper
{
    public static Vector2 GetPos(this BaseChart chart, int serie, int index)
    {
        (double, double) pair;
        List<SerieData> dataList;
        dataList = chart.GetSerie(serie).GetDataList();
        if (index < dataList.Count)
        {
            pair = (dataList[index].data[0], dataList[index].data[1]);
            float x0 = AxisHelper.GetAxisPosition(chart.GetChartComponent<GridCoord>(),
                chart.GetChartComponent<XAxis>(),
                pair.Item1);
            float y0 = AxisHelper.GetAxisPosition(chart.GetChartComponent<GridCoord>(),
                chart.GetChartComponent<YAxis>(),
                pair.Item2);
            return new Vector3(x0, y0) + chart.transform.position;
        }
        else
        {
            Debug.LogError("index越界");
            return Vector2.zero;
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值