La Force d'un écart entre les points sur l'axe des x (MS .Net Des Contrôles De Graphique, Diagramme En Colonnes)

J'ai une colonne de tableau avec plusieurs séries, chacune contenant plusieurs points. Actuellement les colonnes de tous toucher les uns les autres. Je veux forcer un écart entre chaque colonne. Comment puis-je y parvenir?

J'ai trouvé que l'application d'une PointWidth (Chart1.Series[seriesName]["PointWidth"] = (0.6).ToString();) me donne une séparation entre la valeur de x groupes, mais pas entre chaque série point à un individu du groupe (dont j'ai besoin). À l'aide d'un vide de l'entretoise de la série comme proposé ailleurs ne résout pas le problème.

La Force d'un écart entre les points sur l'axe des x (MS .Net Des Contrôles De Graphique, Diagramme En Colonnes)

Je suis à l'aide .Net 4, VS 2010, de l'Application Web. Mon tableau de code suivante:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;
namespace WebApplication1
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Chart1.ChartAreas.Add("Default");
Chart1.ChartAreas["Default"].BackColor = Color.White;
Chart1.ChartAreas["Default"].BackSecondaryColor = Color.AliceBlue;
Chart1.ChartAreas["Default"].BackGradientStyle = GradientStyle.TopBottom;
Chart1.BackColor = Color.AliceBlue;
Chart1.BackSecondaryColor = Color.White;
Chart1.BackGradientStyle = GradientStyle.TopBottom;
Chart1.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;
var colors = new List<Color>(GetSystemColors().Where(c=>c.Name.StartsWith("Dark")));
var rng = new Random();
var start = rng.Next(0, colors.Count - 1);
for (var c = start; c < start + 6; c++)
{
var color = colors[c % colors.Count];
Chart1.Series.Add(color.Name);
Chart1.Series[color.Name].BorderColor = color;
Chart1.Series[color.Name].BorderWidth = 1;
Chart1.Series[color.Name].Color = Color.FromArgb((int)(255 * .7), color);
Chart1.Series[color.Name].BackSecondaryColor = Color.White;
Chart1.Series[color.Name].BackGradientStyle = GradientStyle.TopBottom;
for (var year = DateTime.Now.AddYears(-5).Year; year < DateTime.Now.Year; year++)
Chart1.Series[color.Name].Points.Add(new DataPoint(year, rng.Next(0, 20)));
Chart1.Series[color.Name]["PointWidth"] = (0.6).ToString();
//Chart1.Series.Add("Spacer:" + color.Name);
//Chart1.Series["Spacer:" + color.Name]["PointWidth"] = (0.6).ToString();
}
Chart1.Legends.Add("Default");
}
static IEnumerable<Color> GetSystemColors()
{
Type type = typeof(Color);
return type.GetProperties().Where(info => info.PropertyType == type).Select(info => (Color)info.GetValue(null, null));
}
}
}
complètement sans rapport avec votre requête, mais comment diable avez-vous arrondir les angles sur vos graphiques?
Chart1.BorderSkin.SkinStyle = BorderSkinStyle.Estampage;

OriginalL'auteur grenade | 2010-01-26