C# 操作ZedGraphChart
来源:互联网 发布:java 读取文件名称 编辑:程序博客网 时间:2024/06/06 21:44
namespace ZedGraphChartDisplay
{
public class DrawingPic
{
private ZedGraph.ZedGraphControl zedScoreChart;
/// <summary>
/// X轴名称
/// </summary>
private const string X_AXIS_NAME = "";
/// <summary>
/// Y轴名称
/// </summary>
private const string Y_AXIS_NAME = "";
/// <summary>
/// 缓存已构造好的曲线
/// </summary>
private List<CurveItem> m_CurveLst;
private void InitGraphPane()
{
zedScoreChart.GraphPane.YAxis.Scale.Min = 0;
zedScoreChart.GraphPane.YAxis.Title.Text = Y_AXIS_NAME;
zedScoreChart.GraphPane.XAxis.Title.Text = X_AXIS_NAME;
zedScoreChart.GraphPane.Title.IsVisible = false;
zedScoreChart.GraphPane.XAxis.MajorGrid.IsVisible = true;
zedScoreChart.GraphPane.YAxis.MajorGrid.IsVisible = true;
zedScoreChart.GraphPane.XAxis.MajorGrid.Color = System.Drawing.Color.Gray;
zedScoreChart.GraphPane.YAxis.MajorGrid.Color = System.Drawing.Color.Gray;
zedScoreChart.GraphPane.XAxis.MinorGrid.IsVisible = true;
zedScoreChart.GraphPane.YAxis.MinorGrid.IsVisible = true;
zedScoreChart.GraphPane.XAxis.MinorGrid.Color = System.Drawing.Color.LightGray;
zedScoreChart.GraphPane.YAxis.MinorGrid.Color = System.Drawing.Color.LightGray;
//Y轴(百分数)
zedScoreChart.GraphPane.YAxis.Scale.Min = 0;
zedScoreChart.GraphPane.YAxis.Scale.Max = 100;
zedScoreChart.GraphPane.Fill = new ZedGraph.Fill(System.Drawing.Color.White, System.Drawing.Color.FromArgb(255, 255, 166), 90F);
zedScoreChart.GraphPane.Legend.Position = ZedGraph.LegendPos.Top;
zedScoreChart.AxisChange();
}
private void ShowCurves()
{
zedScoreChart.GraphPane.CurveList.Clear();
zedScoreChart.GraphPane.CurveList.AddRange(m_CurveLst.FindAll(p => ((LineItem)p).IsVisible == true));
//改变轴(指标值)
AutoChangeAxis();
//刷新显示
zedScoreChart.Refresh();
}
//自动调整坐标轴大小,防止指标切换时过大或过小,在图上看不见
private void AutoChangeAxis()
{
if (zedScoreChart.GraphPane.CurveList.Count == 0)
{
return;
}
//先找出所有需要显示的点集合,
//然后对XY排序,找出最大最小值,即为坐标最大最小值
List<double> XData = new List<double>();
List<double> YData = new List<double>();
foreach (CurveItem ci in zedScoreChart.GraphPane.CurveList)
{
for (int i = 0; i < ci.Points.Count; i++)
{
PointPair pp = ci.Points[i];
XData.Add(pp.X);
YData.Add(pp.Y);
}
}
XData.Sort();
YData.Sort();
if (XData.Count > 0)
{
zedScoreChart.GraphPane.XAxis.Scale.Min = XData.First();
zedScoreChart.GraphPane.XAxis.Scale.Max = XData.Last();
}
if (YData.Count > 0)
{
zedScoreChart.GraphPane.YAxis.Scale.Min = YData.First();
zedScoreChart.GraphPane.YAxis.Scale.Max = YData.Last();
}
zedScoreChart.AxisChange();
}
//添加数据
public void FillData()
{
LineItem li = new LineItem();
//构造点
List<float[]> points = CreatePoints(resultList);
//将点添加到曲线
foreach (float[] p in points)
{
li.AddPoint(p[0], p[1]);
}
//将曲线添加到集合
m_CurveLst.Add((CurveItem)li);
}
}
}
{
public class DrawingPic
{
private ZedGraph.ZedGraphControl zedScoreChart;
/// <summary>
/// X轴名称
/// </summary>
private const string X_AXIS_NAME = "";
/// <summary>
/// Y轴名称
/// </summary>
private const string Y_AXIS_NAME = "";
/// <summary>
/// 缓存已构造好的曲线
/// </summary>
private List<CurveItem> m_CurveLst;
private void InitGraphPane()
{
zedScoreChart.GraphPane.YAxis.Scale.Min = 0;
zedScoreChart.GraphPane.YAxis.Title.Text = Y_AXIS_NAME;
zedScoreChart.GraphPane.XAxis.Title.Text = X_AXIS_NAME;
zedScoreChart.GraphPane.Title.IsVisible = false;
zedScoreChart.GraphPane.XAxis.MajorGrid.IsVisible = true;
zedScoreChart.GraphPane.YAxis.MajorGrid.IsVisible = true;
zedScoreChart.GraphPane.XAxis.MajorGrid.Color = System.Drawing.Color.Gray;
zedScoreChart.GraphPane.YAxis.MajorGrid.Color = System.Drawing.Color.Gray;
zedScoreChart.GraphPane.XAxis.MinorGrid.IsVisible = true;
zedScoreChart.GraphPane.YAxis.MinorGrid.IsVisible = true;
zedScoreChart.GraphPane.XAxis.MinorGrid.Color = System.Drawing.Color.LightGray;
zedScoreChart.GraphPane.YAxis.MinorGrid.Color = System.Drawing.Color.LightGray;
//Y轴(百分数)
zedScoreChart.GraphPane.YAxis.Scale.Min = 0;
zedScoreChart.GraphPane.YAxis.Scale.Max = 100;
zedScoreChart.GraphPane.Fill = new ZedGraph.Fill(System.Drawing.Color.White, System.Drawing.Color.FromArgb(255, 255, 166), 90F);
zedScoreChart.GraphPane.Legend.Position = ZedGraph.LegendPos.Top;
zedScoreChart.AxisChange();
}
private void ShowCurves()
{
zedScoreChart.GraphPane.CurveList.Clear();
zedScoreChart.GraphPane.CurveList.AddRange(m_CurveLst.FindAll(p => ((LineItem)p).IsVisible == true));
//改变轴(指标值)
AutoChangeAxis();
//刷新显示
zedScoreChart.Refresh();
}
//自动调整坐标轴大小,防止指标切换时过大或过小,在图上看不见
private void AutoChangeAxis()
{
if (zedScoreChart.GraphPane.CurveList.Count == 0)
{
return;
}
//先找出所有需要显示的点集合,
//然后对XY排序,找出最大最小值,即为坐标最大最小值
List<double> XData = new List<double>();
List<double> YData = new List<double>();
foreach (CurveItem ci in zedScoreChart.GraphPane.CurveList)
{
for (int i = 0; i < ci.Points.Count; i++)
{
PointPair pp = ci.Points[i];
XData.Add(pp.X);
YData.Add(pp.Y);
}
}
XData.Sort();
YData.Sort();
if (XData.Count > 0)
{
zedScoreChart.GraphPane.XAxis.Scale.Min = XData.First();
zedScoreChart.GraphPane.XAxis.Scale.Max = XData.Last();
}
if (YData.Count > 0)
{
zedScoreChart.GraphPane.YAxis.Scale.Min = YData.First();
zedScoreChart.GraphPane.YAxis.Scale.Max = YData.Last();
}
zedScoreChart.AxisChange();
}
//添加数据
public void FillData()
{
LineItem li = new LineItem();
//构造点
List<float[]> points = CreatePoints(resultList);
//将点添加到曲线
foreach (float[] p in points)
{
li.AddPoint(p[0], p[1]);
}
//将曲线添加到集合
m_CurveLst.Add((CurveItem)li);
}
}
}
- C# 操作ZedGraphChart
- C#操作XML(基本操作)
- .NET C# 操作xml
- c#如何操作excel??
- C#操作Excel!
- C# 操作XML
- C#操作ACCESS
- C# 操作DTS
- C#串口操作
- c# .net 操作word
- 用C#操作XML
- C# 操作 Excel
- C# 图形操作
- C#数据库操作
- C#访问Excel操作
- C# 中操作API:
- C# 中操作API
- C# 操作 Excel
- UNIX时间戳的应用-JAVA
- base64编码和解码
- 无人值守安装SQL Server 2008 R2
- Android硬件抽象层(HAL)概要介绍和学习计划 .
- Cygwin 使用
- C# 操作ZedGraphChart
- linux驱动头文件说明
- Reading LIST output(一)
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- netstat
- 三种queue
- ToString()格式和用法大全
- 亚里士多德法则
- Spring 3 AOP总结 (包含注解式AOP定义, poincut及advice的一些定义方式)