Files
XCharts/Scripts/BarChart.cs

45 lines
1.4 KiB
C#
Raw Normal View History

2018-09-15 06:52:42 +08:00
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace xcharts
{
2018-09-18 06:56:41 +08:00
public class BarChart : BaseChart
2018-09-15 06:52:42 +08:00
{
2018-09-18 06:56:41 +08:00
protected override void Awake()
2018-09-15 06:52:42 +08:00
{
2018-09-18 06:56:41 +08:00
base.Awake();
2018-09-15 06:52:42 +08:00
}
2018-09-18 06:56:41 +08:00
protected override void Update()
2018-09-15 06:52:42 +08:00
{
2018-09-18 06:56:41 +08:00
base.Update();
2018-09-15 06:52:42 +08:00
}
protected override void OnPopulateMesh(VertexHelper vh)
{
2018-09-18 06:56:41 +08:00
base.OnPopulateMesh(vh);
foreach(var series in seriesList)
2018-09-15 06:52:42 +08:00
{
2018-09-18 06:56:41 +08:00
float scaleWid = coordinateWid / (xAxis.scaleNum - 1);
float barWid = scaleWid * 0.6f;
float space = (scaleWid - barWid) / 2;
float max = series.max;
for (int i = 0; i < series.dataList.Count; i++)
{
SeriesData data = series.dataList[i];
float pX = zeroX + i * coordinateWid / (xAxis.scaleNum - 1);
float pY = zeroY + coordinate.tickness;
float barHig = data.value / max * coordinateHig;
Vector3 p1 = new Vector3(pX+space,pY);
Vector3 p2 = new Vector3(pX + space, pY + barHig);
Vector3 p3 = new Vector3(pX + space + barWid, pY + barHig);
Vector3 p4 = new Vector3(pX + space +barWid, pY);
ChartUtils.DrawPolygon(vh,p1,p2,p3,p4,Color.blue);
}
2018-09-15 06:52:42 +08:00
}
}
}
}