![](/img/trans.png)
[英]How to read(get) the Y-Axis Scale Values(Min&Max) from Excel Chart using c#
[英]Chart to take values from user from textbox.text and plot max and min values on y-axis for time in hh:mm
这是屏幕截图..我按照你说的做了,但是现在当我运行代码时...... x 轴刻度变成空白......
chart1.ChartAreas[0].AxisX.Minimum = Convert.ToDateTime(textBox7.Text).ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = Convert.ToDateTime(textBox8.Text).ToOADate();
这是在调试模式下的屏幕截图,它显示了一些随机数......不知道那是什么......
即使我这样做也是一样的:
chart1.ChartAreas[0].AxisX.Minimum = DateTime.Parse(textBox7.Text).ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = DateTime.Parse(textBox8.Text).ToOADate();
这些是来自 DataGridView 的值,我在图表上显示时间与温度的关系......红色圆圈表示时间值,其最小值和最大值是我想要从 Textbox7.text 和 Textbox8.text 中获取并显示的值在图表 X 轴上....
默认情况下, Minimum
和Maximum
正在等待双打,这就是您在这里所做的:
chart1.ChartAreas[0].AxisX.Minimum = Convert.ToDouble(textBox1.Text);
但是您正在尝试将09:27
转换为无法完成的双09:27
,因为它的格式无效。
但是,如果您想处理时间,则必须将 XValueType 设置为Time
并将您的 TextBox 解析为 DateTime,如下所示:
chart1.ChartAreas[0].AxisX.Minimum = DateTime.Parse(textBox1.Text).ToOADate();
它应该可以解决问题。
使用DateTime.Parse(textBox1.Text)
将创建一个具有今天日期和请求时间的对象。 就您而言,您有兴趣保留日期 ( 08/30/2016
)。 你需要做的是:
// Get the old date
DateTime currentDateMin = DateTime.FromOADate(chart1.ChartAreas[0].AxisX.Minimum);
// Parse the date you want to set
DateTime requestesd = DateTime.Parse(textBox1.Text);
// Set the time part
DateTime newDateMin = new DateTime(currentDateMin.Year, currentDateMin.Month, currentDateMin.Day, requestesd.Hour, requestesd.Minute, requestesd.Second);
// Assign to your axis
chart1.ChartAreas[0].AxisX.Minimum = newDateTime.ToOADate();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.