谁能告诉我如何用代码制作堆积柱状图?我没有要绑定的数据集,只有要在堆叠柱状图中显示的普通值。我使用的是.NET Framework40中Visual Studio2010提供的普通.NET图表控件。因此,请避免谈论WebCharts或任何其他付费图表,如Dundas、charts或dotnetCharting等。
发布于 2011-06-28 05:20:55
将SeriesChartType设置为StackedColumn应该会给出堆栈面积图,如果这是您想要的。下面的代码示例来自here
//Populate series data
Random random = new Random();
for(int pointIndex = 0; pointIndex < 10; pointIndex++)
{
Chart1.Series["Series1"].Points.AddY(Math.Round((double)random.Next(45, 95),0));
Chart1.Series["Series2"].Points.AddY(Math.Round((double)random.Next(5, 75),0));
Chart1.Series["Series3"].Points.AddY(Math.Round((double)random.Next(5, 95),0));
Chart1.Series["Series4"].Points.AddY(Math.Round((double)random.Next(35, 95),0));
}
Chart1.Series["Series1"].ChartType = SeriesChartType.StackedColumn;
Chart1.Series["Series2"].ChartType = SeriesChartType.StackedColumn;
Chart1.Series["Series3"].ChartType = SeriesChartType.StackedColumn;
Chart1.Series["Series4"].ChartType = SeriesChartType.StackedColumn;发布于 2011-09-07 09:48:59
要删除背景中的图形,请在ChartArea对象上设置以下内容:
ChartAreas[0].AxisX.Enabled = AxisEnabled.False
ChartAreas[0].AxisY.Enabled = AxisEnabled.False这将禁用两个轴。
如果您希望保留XAxis及其标签,请删除网格线和YAxis -您可以使用以下代码:
Chart1.ChartAreas[0].AxisX.LineDashStyle = ChartDashStyle.NotSet;
Chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
Chart1.ChartAreas[0].AxisX.MajorTickMark.Enabled = false;
Chart1.ChartAreas[0].AxisX.MinorGrid.Enabled = false;
Chart1.ChartAreas[0].AxisX.MinorTickMark.Enabled = false;
Chart1.ChartAreas[0].AxisY.Enabled = AxisEnabled.False;发布于 2014-12-01 19:56:46
在对.net中的堆叠条形图进行了长时间的搜索之后,我得到了一个更好的解决方案。
MobileSalesChart.Series["Apple"].Points.Add(new DataPoint(i, ds.Tables[0].Rows[i]["Apple"].ToString().Trim()));
MobileSalesChart.Series["Nokia"].Points.Add(new DataPoint(i, ds.Tables[0].Rows[i]["Nokia"].ToString().Trim()));
MobileSalesChart.Series["Samsung"].Points.Add(new DataPoint(i, ds.Tables[0].Rows[i]["Samsung"].ToString().Trim()));
MobileSalesChart.Series["Sony"].Points.Add(new DataPoint(i, ds.Tables[0].Rows[i]["Sony"].ToString().Trim()));
MobileSalesChart.Series["Motorola"].Points.Add(new DataPoint(i, ds.Tables[0].Rows[i]["Motorola"].ToString().Trim()));
MobileSalesChart.Series[0].Points[i].AxisLabel = ds.Tables[0].Rows[i]["Year"].ToString().Trim();https://stackoverflow.com/questions/6497490
复制相似问题