XCharts官网地址:https://xcharts-team.github.io/

本地上传资源:https://download.csdn.net/download/m0_64375864/90919669

效果图:

 动态配置数据:

public class Test3 : MonoBehaviour
{
    public LineChart lineChart;
    public List<Color32> colorPalettes;

    public string[] strsX = new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
    public double[] valueY1 = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
    public double[] valueY2 = new double[] { 7, 5, 9, 5, 5, 6, 7, 0, 12, 15, 4, 2 };
    public double[] valueY3 = new double[] { 8, 5, 4, 7, 9, 10, 11, 13, 16, 15, 13, 1 };
    public string[] strSers = new string[] { "第一条", "第二条", "第三条" };
    void Start()
    {
        OnSuccessMethod();
    }
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            OnSuccessMethod();
        }
    }
    private void OnSuccessMethod()
    {

        lineChart.gameObject.SetActive(true);

        //清理数据
        lineChart.ClearData();
        lineChart.RemoveData();
        //添加X轴数据
        foreach (var str in strsX) // 如果所有曲线的 X 轴数据相同
        {
            lineChart.AddXAxisData(str);
        }
        lineChart.GetChartComponent<XAxis>().splitNumber = strsX.Length;
        //添加曲线
        for (int i = 0; i < strSers.Length; i++)
        {
            string serieName = strSers[i];
            lineChart.AddSerie<Line>(serieName);


            //折线属性
            lineChart.series[i].lineType = LineType.Normal;
            lineChart.series[i].symbol.type = SymbolType.None;
            lineChart.series[i].lineStyle.width = 1.2f;
            lineChart.series[i].symbol.show = true;     //折线节点
            lineChart.series[i].symbol.type = SymbolType.Circle;

            //背景
            lineChart.theme.customBackgroundColor = Color.white;
            lineChart.theme.customColorPalette = colorPalettes;
            lineChart.theme.enableCustomTheme = true;

            //标题
            lineChart.EnsureChartComponent<Title>().show = true;
            lineChart.EnsureChartComponent<Title>().text = "测试图表";
            lineChart.EnsureChartComponent<Title>().labelStyle.textStyle.color = Color.black;

            //添加填充区域
            lineChart.series[i].EnsureComponent<AreaStyle>();
            lineChart.series[i].areaStyle.show = true;
            lineChart.series[i].areaStyle.color = colorPalettes[i]; // 红色
            lineChart.series[i].areaStyle.toColor =colorPalettes[i+1]; // 黄色
    

            //添加数据
            Debug.Log($"当前:{serieName} 曲线数量:{strsX.Length}");
            for (int j = 0; j < strsX.Length; j++)
            {
                double value = 0;
                switch (i)
                {
                    case 0:
                        value = valueY1[j];
                        break;
                    case 1:
                        value = valueY2[j];
                        break;
                    case 2:
                        value = valueY3[j];
                        break;
                }
                lineChart.AddData(serieName, value);
            }
        }

    }
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐