我现在用的是System.Windows.Forms.DataVisualization.Charting.Chart
类绘制了一些数据的图表。
现在我想打压传说中自动生成条目,并与客户项目替换它们。 我已经找到了方法来添加自定义项目,但没有抑制自动生成的方式。
我的代码:
var legend = new Legend();
legend.LegendStyle = LegendStyle.Table;
legend.TableStyle = LegendTableStyle.Wide;
legend.IsEquallySpacedItems = true;
legend.IsTextAutoFit = true;
legend.BackColor = Color.White;
legend.Font = new Font(Config.FontFamily, 9);
legend.Docking = Docking.Bottom;
legend.Alignment = StringAlignment.Center;
legend.CustomItems.Add(new LegendItem("test", Color.Green, string.Empty));
ch.Legends.Add(legend);
有没有人做过这样的事情之前?
尝试在这种情况下做这件事:
private void chart1_CustomizeLegend(object sender, CustomizeLegendEventArgs e)
{
e.LegendItems.Clear();
// new stuff
}
转至Series
集合中的图表属性,并找到IsVisibleInLegend
属性,并将其设置为false
我知道这是旧的,但想在这里万一有人想要一个稍微不同的方式去了解它张贴此,这是基于关闭史蒂夫伦斯答案,但不是在它只是删除了非自定义的事件添加的项目。
protected void chartarea1_CustomizeLegend(object sender, System.Web.UI.DataVisualization.Charting.CustomizeLegendEventArgs e)
{
int customItems = ((Chart)sender).Legends[0].CustomItems.Count();
if (customItems>0)
{
int numberOfAutoItems = e.LegendItems.Count()-customItems;
for (int i = 0; i < numberOfAutoItems; i++)
{
e.LegendItems.RemoveAt(0);
}
}
}