在不使用 WinForms 的情况下更改 DataVisualization.Chart 大小

Cor*_*Doe 3 c# charts web-services resize data-visualization

我有一个生成不同类型图表的 Web 服务。图表是使用编程方式生成的,System.Windows.Forms.DataVisualization.Charting并将它们保存为 .png 文件。但无论我做什么,图表的尺寸都是 300x300 像素。

在互联网上,我找到了许多更改图表大小的解决方案,但它们仅适用于将图表放入 WinForm 然后保存到文件的情况。

如果我的应用程序中没有 WinForms,如何更改图表的大小?

这是我在代码中所做的一个虚拟示例

int[] yVal = { 1, 1, 1, 1, 1, 1, 1 };
string[] xName = { "a", "b", "b", "b", "b", "b", "b" };

System.Windows.Forms.DataVisualization.Charting.Chart Chart1 = new Chart();
Chart1.Titles.Add("Title");
Chart1.Series.Add(new Series());

Chart1.Series[0].XValueType = ChartValueType.String;
Chart1.Series[0].YValueType = ChartValueType.Int32;
Chart1.Series[0].Points.DataBindXY(xName, yVal);

Chart1.Palette = ChartColorPalette.EarthTones;

Chart1.Legends.Add(new Legend());
Chart1.Legends[0].Enabled = false;

ChartArea chartArea = new ChartArea();
chartArea.AxisX.Title = "X";
chartArea.AxisY.Title = "Y";
Chart1.ChartAreas.Add(chartArea);


Chart1.SaveImage("chart.png", ChartImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

And*_*son 5

要获得 1000px x 1000px 大图像,请在图表初始化后添加以下行:

Chart1.Size = new Size(1000, 1000);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你。我真的不敢相信答案如此简单。不晚;我刚刚离开了那些带有小图表的应用程序,但现在它已经得到了改进。 (2认同)