我希望我的图表从0,0开始,但现在它从数据开始时开始(因为我不知道xdatamember的更好的替代方案是获得我想要的结果。任何建议?
private void Form1_Load(object sender, EventArgs e)
{
dataAdapter = new SqlDataAdapter(strSQL, strCon);
commandBuilder = new SqlCommandBuilder(dataAdapter);
// Populate a new data table and bind it to the BindingSource.
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource.DataSource = table;
// Resize the DataGridView columns to fit the newly loaded content.
dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
// you can make it grid readonly.
dataGridView.ReadOnly = true;
// finally bind the data to the grid
dataGridView.DataSource = bindingSource;
GraphPane myPane = height.GraphPane;
// Create a new DataSourcePointList to handle the database connection
DataSourcePointList dspl = new DataSourcePointList();
// Specify the table as the data source
dspl.DataSource = table;
dspl.XDataMember = "age";
dspl.YDataMember = "height";
LineItem Curve1 = myPane.AddCurve("student 1", dspl, Color.pink, SymbolType.None);
height.AxisChange();
myPane.Chart.Fill = new Fill(Color.White, Color.LightGray, 45.0F);
// set the title and axis labels
myPane.Title.Text = "student heights";
myPane.XAxis.Title.Text = "age";
myPane.YAxis.Title.Text = "height";
myPane.XAxis.Type = AxisType.Date;
}
答案 0 :(得分:2)
首先,我快速搜索了这类事情并找到了这个:Lock axis in ZedGraph
您可以将XAxis.Min和YAxis.Min设置为您想要显示为相应轴的最小值的值。我的测试中的代码看起来像这样:
//static ZedGraph.ZedGraphControl graph = new ZedGraph.ZedGraphControl();
ZedGraph.GraphPane pane = graph.GraphPane;
pane.XAxis.Scale.Min = 0.0;
graph.AxisChange();
graph.RestoreScale(pane);
graph.ZoomOut(pane);