c#中怎么样用zedgraph 绘制两个纵坐标出来呢?急求!!!

显示左右两个纵坐标轴。急求。不用zedgraph这个控件也行。总之能实现就行。我的钱不多了,只能悬赏50.急求啊类似于这样。左右有两个纵坐标... 显示左右两个纵坐标轴。急求。不用zedgraph这个控件也行。总之能实现就行。我的钱不多了,只能悬赏50.急求啊
类似于这样。左右有两个纵坐标
展开
 我来答
山水阿锐
2015-04-29 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
您好,这样:
一个实时曲线的例子,看是否能帮到你~

C# code

public partial class FrmMain : Form
{
// 起始时间以毫秒为单位
int tickStart = 0;
public FrmMain()
{
InitializeComponent();
}
private void Form1_Load( object sender, EventArgs e )
{
//获取引用
GraphPane myPane = zedGraphControl1.GraphPane;
//设置标题
myPane.Title.Text = "实时曲线";
//设置X轴说明文字
myPane.XAxis.Title.Text = "时间";
//设置Y轴说明文字
myPane.YAxis.Title.Text = "温度";
//设置1200个点,假设每50毫秒更新一次,刚好检测1分钟,一旦构造后将不能更改这个值
RollingPointPairList list = new RollingPointPairList( 1200 );
//开始,增加的线是没有数据点的(也就是list为空)
//增加一条名称:Voltage,颜色Color.Bule,无符号,无数据的空线条
LineItem curve = myPane.AddCurve("温度", list, Color.Blue, SymbolType.None);
timeDraw.Interval = 10; //设置timer控件的间隔为50毫秒
timeDraw.Enabled = true; //timer可用
timeDraw.Start(); //开始
myPane.XAxis.Scale.Min = 0; //X轴最小值0
myPane.XAxis.Scale.Max = 30; //X轴最大30
myPane.XAxis.Scale.MinorStep = 1;//X轴小步长1,也就是小间隔
myPane.XAxis.Scale.MajorStep = 5;//X轴大步长为5,也就是显示文字的大间隔
//改变轴的刻度
zedGraphControl1.AxisChange();
//保存开始时间
tickStart = Environment.TickCount;
}
private void timer1_Tick( object sender, EventArgs e )
{
//确保CurveList不为空
if (zedGraphControl1.GraphPane.CurveList.Count <= 0)
{
return;
}
//取Graph第一个曲线,也就是第一步:在GraphPane.CurveList集合中查找CurveItem
LineItem curve = zedGraphControl1.GraphPane.CurveList[0] as LineItem;
if (curve == null)
{
return;
}
//第二步:在CurveItem中访问PointPairList(或者其它的IPointList),根据自己的需要增加新数据或修改已存在的数据
IPointListEdit list = curve.Points as IPointListEdit;
if (list == null)
{
return;
}
// 时间用秒表示
double time = ( Environment.TickCount - tickStart ) / 1000.0;
// 3秒循环
list.Add( time, Math.Sin( 2.0 * Math.PI * time / 3.0 ) );
Scale xScale = zedGraphControl1.GraphPane.XAxis.Scale;
if ( time > xScale.Max - xScale.MajorStep )
{
xScale.Max = time + xScale.MajorStep;
xScale.Min = xScale.Max - 30.0;
}
//第三步:调用ZedGraphControl.AxisChange()方法更新X和Y轴的范围
zedGraphControl1.AxisChange();
//第四步:调用Form.Invalidate()方法更新图表
zedGraphControl1.Invalidate();
}
private void Form1_Resize( object sender, EventArgs e )
{
SetSize();
}
private void SetSize()
{
// 控制始终是以10像素插入矩形从客户端的形
Rectangle formRect = this.ClientRectangle;
formRect.Inflate( -10, -10 );
if ( zedGraphControl1.Size != formRect.Size )
{
zedGraphControl1.Location = formRect.Location;
zedGraphControl1.Size = formRect.Size;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式