我有一个绘制折线图的函数,如下所示。数据点是从 MySQL 表中获取的。但是,如何将 x 轴上的每个数据点编号为 1,2,3,4...?
在下面的示例中,查询返回两个结果,并且图形显示两个点,因此图形的轴上应标记有 1 和 2。
编辑:初始问题已解决。但是,对于上面的示例,有 2 个数据点,但最大 x 值为 3。有没有办法将最大 x 值设置为等于数据点的数量?
protected void chart(int moduleID)
{
string connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
MySqlConnection conn = new MySqlConnection(connStr);
string comm = "SELECT * FROM scores WHERE test_id=0 AND module_id=@ModuleID AND user_id=@UserID";
MySqlCommand mySqlCommand = new MySqlCommand(comm, conn);
mySqlCommand.Parameters.Add(new MySqlParameter("@ModuleID", moduleID));
mySqlCommand.Parameters.Add(new MySqlParameter("@UserID", Session["UserID"]));
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(mySqlCommand);
DataTable ds = new DataTable();
Chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;
Chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Enabled = false;
Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = 1;
Chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Enabled = false;
Chart1.ChartAreas["ChartArea1"].AxisX.Title = "attempt no.";
Chart1.ChartAreas["ChartArea1"].AxisY.Minimum = 0;
Chart1.ChartAreas["ChartArea1"].AxisY.Maximum = 100;
Chart1.ChartAreas["ChartArea1"].AxisY.Title = "%";
Chart1.ChartAreas["ChartArea1"].AxisY.TextOrientation = TextOrientation.Horizontal;
try
{
conn.Open();
dataAdapter.Fill(ds);
if (ds.Rows.Count > 0)
{
Chart1.DataSource = ds;
Chart1.Series["Series1"].YValueMembers = "score";
Chart1.DataBind();
}
else
{
Chart1.Visible = false;
lblError2.Text = "No results found.";
}
}
catch
{
lblError.Text = "Database connection error. Unable to obtain data at the moment.";
}
finally
{
conn.Close();
}
}
最佳答案
有问题:
Chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Enabled = false;
您已禁用轴标签
关于c# - ASP.Net C# - 在图表中设置和显示 x 轴值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25448198/