C# Mschart具有不同值计数的多个系列(更改X轴间隔)

C# Mschart具有不同值计数的多个系列(更改X轴间隔),c#,.net,charts,pdfsharp,migradoc,C#,.net,Charts,Pdfsharp,Migradoc,我需要将折线图保存为.png甚至.svg文件。 一个数据集(日期、值),每个数据集有1800个值。我可以保存一个非常精确的.png,但是,xAxis的主要线条填充了整个图表区域。它实际上是完全黑色的。 我正在使用System.Windows.Forms.DataVisualization.Charting;要创建图表,请顺便说一句 我试图将xAxis间隔增加100,以仅显示18个时间戳,但仍然显示所有1800个值,这根本不起作用。 此外,我还尝试添加一个仅包含18个值的附加系列,使线条透明,并

我需要将折线图保存为.png甚至.svg文件。 一个数据集(日期、值),每个数据集有1800个值。我可以保存一个非常精确的.png,但是,xAxis的主要线条填充了整个图表区域。它实际上是完全黑色的。 我正在使用System.Windows.Forms.DataVisualization.Charting;要创建图表,请顺便说一句

我试图将xAxis间隔增加100,以仅显示18个时间戳,但仍然显示所有1800个值,这根本不起作用。 此外,我还尝试添加一个仅包含18个值的附加系列,使线条透明,并且仅使第二个系列的x轴可见。
我还尝试使用NuGet中的MigraDoc/PDFSharp将图表直接构建到.pdf文件中。我也没有办法在那里做。 还是我做错了什么可怕的事

我希望你们中的任何人都知道我在说什么

public void createWinfromChart()
        {
            int cnt = 0;
            foreach (KeyValuePair<string, Data> keyValue in obj)
            {
                chart1      = new Chart();
                chart1.Size = new Size(1000, 1000);
                addNewSeries(keyValue.Value.simplifyOutput(), keyValue.Key);
                cnt++;
                saveChartImage(cnt);
            }
        }
public void createWinfromChart()
{
int-cnt=0;
foreach(对象中的KeyValuePair keyValue)
{
chart1=新图表();
图1.尺寸=新尺寸(10001000);
addNewSeries(keyValue.Value.SimpleOutput(),keyValue.Key);
cnt++;
保存图表图像(cnt);
}
}
public void addNewSeries(字典、字符串标记)
{
ChartArea ChartArea=新的ChartArea();
chart1.ChartAreas.Add(chartArea);
//哈克斯
chart1.ChartAreas[0]。轴[0]。MajorGrid.Enabled=false;
//哈克斯
chart1.ChartAreas[0]。轴[1]。MajorGrid.Enabled=false;
chart1.ChartAreas[0]。AxisX.Interval=100;
系列=新系列();
//系列风格
series.ChartType=serieChartType.Line;
系列。边框宽度=2;
series.Color=Color.Green;
series.isxvalueindex=false;
foreach(对象[tag].value中的浮点值)
{
系列点添加(值);
}
图1.系列。添加(系列);
ChartArea ChartArea 2=新的ChartArea();
图表1.图表区域。添加(图表区域2);
chart1.ChartAreas[1]。轴[0]。MajorGrid.Enabled=true;
chart1.ChartAreas[1]。轴[1]。MajorGrid.Enabled=true;
系列2=新系列();
series2.ChartType=SerieChartType.Line;
series2.BorderWidth=0;
series2.Color=Color.Transparent;
series2.isxvalueindex=false;
foreach(字典中的KeyValuePair-valuePair)
{
series2.Points.AddXY(valuePair.Key,0);
}
图1.系列。添加(系列2);
}
public void addNewSeries(Dictionary<string, float> dictionary, string tag)
        {
            ChartArea chartArea = new ChartArea();
            chart1.ChartAreas.Add(chartArea);

            //xAchse
            chart1.ChartAreas[0].Axes[0].MajorGrid.Enabled = false;
            //yAchse
            chart1.ChartAreas[0].Axes[1].MajorGrid.Enabled = false;
            chart1.ChartAreas[0].AxisX.Interval            = 100;

            Series series = new Series();

            //Series style
            series.ChartType       = SeriesChartType.Line;
            series.BorderWidth     = 2;
            series.Color           = Color.Green;
            series.IsXValueIndexed = false;

            foreach (float values in obj[tag].value)
            {
                series.Points.AddY(values);
            }

            chart1.Series.Add(series);
            ChartArea chartArea2 = new ChartArea();
            chart1.ChartAreas.Add(chartArea2);
            chart1.ChartAreas[1].Axes[0].MajorGrid.Enabled = true;
            chart1.ChartAreas[1].Axes[1].MajorGrid.Enabled = true;

            Series series2 = new Series();
            series2.ChartType       = SeriesChartType.Line;
            series2.BorderWidth     = 0;
            series2.Color           = Color.Transparent;
            series2.IsXValueIndexed = false;

            foreach (KeyValuePair<string, float> valuePair in dictionary)
            {
                series2.Points.AddXY(valuePair.Key, 0);
            }

            chart1.Series.Add(series2);
        }