1
我使用Chart
绘制2行图。现在我的目标是将第二个Y轴的MajorGrid
的LineColor
设置为相应行的颜色。这是我的代码:在哪个时间点是以图表形式初始化的系列颜色
public partial class Form1 : Form
{
List<double> values_1 = new List<double>();
List<double> values_2 = new List<double>();
public Form1()
{
InitializeComponent();
make_values();
for (int i = 0; i < values_1.Count; i++)
{
chart1.Series[0].Points.AddY(values_1[i]);
}
for (int i = 0; i < values_2.Count; i++)
{
chart1.Series[1].Points.AddY(values_2[i]);
}
// set the colour of grid to corresponding line
chart1.ChartAreas[0].AxisY2.MajorGrid.LineColor = chart1.Series[1].Color;
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void make_values()
{
for (int i = 0; i < 600; i++)
{
values_1.Add(Math.Sin(i/60.0));
values_2.Add(Math.Cos(i/60.0));
}
}
}
由于颜色是自动选择2个不同的系列我虽然我可以只抓住颜色。但是,在调试时我看到的颜色是(0,0,0):
所以网格颜色不会改变。但是,第二个系列的颜色不是(0,0,0),其可以在被装载的窗口!:
如果我强迫并手动设置2系列的颜色之前可以看出。一切工作正常,网格获取相应的颜色。
有谁知道在哪个时间点我将不得不抓住系列的颜色来获得真正的价值?
辉煌!非常感谢你。我绝对应该多阅读一下备注部分;) –
嗯,问题是这样做的第一个需要找到正确的方法.. – TaW
啊我没有立即跟随链接,我认为这将是在'Chart'类文档。嗯,是的,找到约100的正确方法。但通过你的答案,我将来会考虑不同的属性自动分配。下一次,我会考虑有一种方法可以强制值被初始化。 –