C# 调整图表大小后如何调整datavisualization.charting的轴比例?

C# 调整图表大小后如何调整datavisualization.charting的轴比例?,c#,image,charts,scale,data-visualization,C#,Image,Charts,Scale,Data Visualization,我将图表从基本上的72 dpi更新为300 dpi。这是因为我正在使用itextsharp将图像添加到我的pdf中,但质量很差。因此,我将图像的大小增加了3倍,图像看起来确实更好,但问题出在这里 新闻部有所增加,但细节变得很难看到 原始图表图像 重构图表图像 代码 这就是我调整图表大小的方法 private static System.Drawing.Bitmap GetChartBitmap() { System.Drawing.Rectangl

我将图表从基本上的72 dpi更新为300 dpi。这是因为我正在使用itextsharp将图像添加到我的pdf中,但质量很差。因此,我将图像的大小增加了3倍,图像看起来确实更好,但问题出在这里

新闻部有所增加,但细节变得很难看到

原始图表图像

重构图表图像

代码 这就是我调整图表大小的方法

private static System.Drawing.Bitmap GetChartBitmap()
        {


            System.Drawing.Rectangle targetBounds = new System.Drawing.Rectangle(0, 0, chart_runs.Width, chart_runs.Height);
            System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(targetBounds.Width, targetBounds.Height);
            bitmap.SetResolution(1000, 1000);
            chart_runs.DrawToBitmap(bitmap, targetBounds);
            bitmap.Save(@"C:\Temp\OriginalChartImage.bmp");


            System.Drawing.Bitmap bitmap3 = new System.Drawing.Bitmap(1650, 990);
            bitmap3.SetResolution(300, 300);
            chart_runs.DrawToBitmap(bitmap3, new System.Drawing.Rectangle(0, 0, 1650, 990));
            bitmap3.Save(@"C:\Temp\RefactoredChartImage.png");



            //This stuff below is for my code elsewhere. Using bitmap3 to be added to pdf. 
            //chart_runs.DrawToBitmap(bitmap, targetBounds);
            string path = System.IO.Path.GetTempPath();

            bitmap1.Save(path + @"\Image.png");
            return bitmap1;
        }
我查看了Microsoft msdn示例,但没有找到任何解决我问题的方法。也就是说,我如何增加标签的大小,以便人们可以再次阅读它们。或者,有没有办法提高DPI并保持第一张图片中使用的相同的标签x和标签y比例?也就是说,有一个更大的图像和300DPI,但比例从0到300乘以20,而不是像我的重构图片那样的5

试图修复
  • 缩放轴?看见我认为这是行不通的。这里没有多少成功
  • 一直在尝试在Chart类中找到一种方法,看看是否有一种方法可以指定严格的比例。(y刻度为20秒,x刻度为15秒)
  • 大多数在线资源都很乐意增加图片的规模,然后走开。诸如此类

我将非常感谢任何帮助和帮助

两个不同的问题,两个不同的答案。最简单的方法是将轴标签的字体大小更改为更大。这可以通过

chart1.ChartAreas[0].AxisX.LabelStyle.Font = new Font...;
如果不这样做,无论您做什么,您的标签都不会可读,这只是因为您更改了DPI(这正是更改DPI所做的)

如果希望标签在y轴上每隔20个单位显示一次,在x轴上每隔15个单位显示一次,则可以使用轴的
Interval
IntervalType
属性。
IntervalType
用于显示
DateTime
对象:

chart1.ChartAreas[0].AxisX.Interval = 15;
chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Seconds;
chart1.ChartAreas[0].AxisY.Interval = 20;

你关于缩放轴的第一个链接实际上是放大或缩小,这就是你没有成功的原因。

我可能会说,我最终会找到这个答案,但只是在浪费了潜在的惊人时间之后。谢谢你把我从沟里抓出来,并把我指回到路上去。