winform中chart控件坐标放大问题

hello_dzm 2019-01-22 11:24:46

上面的图片是在我的项目里面,我放大后的结果,只有Y轴放大了,但是我没有找到错误,于是我单独写出来一个
这是程序:
foreach (var series in CHART_HisData.Series.ToArray())
{
series.Points.Clear();
}

string starttime = "2019-01-13 17:00:36";
string overtime = "2019-01-13 21:13:46";
MySqlConnection com = new MySqlConnection("server=localhost;port=3306;database=multiwaterinject;user=root;password=123456;SSlMode = none;");
string strcom = "select * from history where devId='" + 2 + "' and uploadTime between '" + starttime + "' and '" + overtime + "'";
MySqlCommand comand1 = new MySqlCommand(strcom, com);

try
{
com.Open();
//MessageBox.Show("查询成功!");
MySqlDataReader result1 = comand1.ExecuteReader();
while (result1.Read())
{
if (true)
{
CHART_HisData.Series[0].Points.AddXY(result1["uploadTime"], result1["inflowPressure"]);//来水压力
CHART_HisData.Series[1].Points.AddXY(result1["uploadTime"], result1["flowVolume"]);//累计流量
CHART_HisData.Series[2].Points.AddXY(result1["uploadTime"], result1["floodPressure"]);//注水压
CHART_HisData.Series[3].Points.AddXY(result1["uploadTime"], result1["flowSet"]);//设定流量
CHART_HisData.Series[4].Points.AddXY(result1["uploadTime"], result1["flowRate"]);//瞬时流量
CHART_HisData.Series[5].Points.AddXY(result1["uploadTime"], result1["floodOpenValue"]);//注水
CHART_HisData.Series[6].Points.AddXY(result1["uploadTime"], result1["drainOpenValue"]);//排水开度
}
}
result1.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error:" + ex);//显示异常信息
}
finally
{
if (com.State == ConnectionState.Open)
{
com.Close();
}
}
下图是单独写出来的一个

两个代码是一样的
private void button1_Click(object sender, EventArgs e)
{
foreach (var series in chart1.Series.ToArray())
{
series.Points.Clear();
}

string starttime = "2019-01-13 17:00:36";
string overtime = "2019-01-13 21:13:46";
MySqlConnection com = new MySqlConnection("server=localhost;port=3306;database=multiwaterinject;user=root;password=123456;SSlMode = none;");
string strcom = "select * from history where devId='" + 2 + "' and uploadTime between '" + starttime + "' and '" + overtime + "'";
MySqlCommand comand1 = new MySqlCommand(strcom, com);

try
{
com.Open();
//MessageBox.Show("查询成功!");
MySqlDataReader result1 = comand1.ExecuteReader();
while (result1.Read())
{
if (true)
{
chart1.Series[0].Points.AddXY(result1["uploadTime"], result1["inflowPressure"]);//来水压力
chart1.Series[1].Points.AddXY(result1["uploadTime"], result1["flowVolume"]);//累计流量
chart1.Series[2].Points.AddXY(result1["uploadTime"], result1["floodPressure"]);//注水压
chart1.Series[3].Points.AddXY(result1["uploadTime"], result1["flowSet"]);//设定流量
chart1.Series[4].Points.AddXY(result1["uploadTime"], result1["flowRate"]);//瞬时流量
chart1.Series[5].Points.AddXY(result1["uploadTime"], result1["floodOpenValue"]);//注水
chart1.Series[6].Points.AddXY(result1["uploadTime"], result1["drainOpenValue"]);//排水开度
}
}
result1.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error:" + ex);//显示异常信息
}
finally
{
if (com.State == ConnectionState.Open)
{
com.Close();
}
}

}

下面的是两个的designer
:
chartArea1.AxisX.LabelStyle.Format = "HH:mm:ss";
chartArea1.CursorX.IntervalOffsetType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Minutes;
chartArea1.CursorX.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds;
chartArea1.CursorX.IsUserEnabled = true;
chartArea1.CursorX.IsUserSelectionEnabled = true;
chartArea1.CursorY.IsUserEnabled = true;
chartArea1.CursorY.IsUserSelectionEnabled = true;
chartArea1.Name = "ChartArea1";
this.chart1.ChartAreas.Add(chartArea1);
legend1.Name = "Legend1";
this.chart1.Legends.Add(legend1);
this.chart1.Location = new System.Drawing.Point(160, 12);
this.chart1.Name = "chart1";
series1.ChartArea = "ChartArea1";
series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series1.Legend = "Legend1";
series1.Name = "Series1";
series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
series1.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
series2.ChartArea = "ChartArea1";
series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series2.Legend = "Legend1";
series2.Name = "Series2";
series2.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
series2.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
series3.ChartArea = "ChartArea1";
series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series3.Legend = "Legend1";
series3.Name = "Series3";
series3.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
series3.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
series4.ChartArea = "ChartArea1";
series4.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series4.Legend = "Legend1";
series4.Name = "Series4";
series4.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
series4.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
series5.ChartArea = "ChartArea1";
series5.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series5.Legend = "Legend1";
series5.Name = "Series5";
series5.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
series5.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
series6.ChartArea = "ChartArea1";
series6.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series6.Legend = "Legend1";
series6.Name = "Series6";
series6.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
series6.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
series7.ChartArea = "ChartArea1";
series7.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series7.Legend = "Legend1";
series7.Name = "Series7";
series7.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
series7.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
series8.ChartArea = "ChartArea1";
series8.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
series8.Legend = "Legend1";
series8.Name = "Series8";
series8.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.UInt64;
series8.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int64;
this.chart1.Series.Add(series1);
this.chart1.Series.Add(series2);
this.chart1.Series.Add(series3);
this.chart1.Series.Add(series4);
this.chart1.Series.Add(series5);
this.chart1.Series.Add(series6);
this.chart1.Series.Add(series7);
this.chart1.Series.Add(series8);
this.chart1.Size = new System.Drawing.Size(458, 322);
this.chart1.TabIndex = 0;
this.chart1.Text = "chart1";

明明一模一样,但是就是x轴不放大,求大神解救
...全文
350 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
AntreeCother 2019-12-07
  • 打赏
  • 举报
回复
楼主,我也遇到了同样的问题,最后也是没解决。后来我用了zedgraph控件,开源的,可以实现这个功能。如果你还在做这个项目的话,可以试一下这个控件
m0_55947321 2021-09-24
  • 举报
回复
@AntreeCother 兄弟,能发一下你说的zedgraph控件文件吗?1820186232@qq.com 感谢大佬

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧