绘制曲线和创建JPEG的最佳平台

时间:2011-05-17 21:58:35

标签: .net python math graph curve

我有一个曲线的等式,我需要绘制如下:

((X^z)-1)/z = y

有谁知道如何使用python或.net?

绘制此曲线并将其保存为图像

2 个答案:

答案 0 :(得分:7)

Python中2d图的好库是http://matplotlib.sourceforge.net/。生成的绘图可以直接从绘图对话框中保存。

答案 1 :(得分:1)

以下是在.NET / C#中绘制曲线的示例:

参考文献:

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;

绘图代码:

const int imgSize = 500;
var bmp = new Bitmap(imgSize, imgSize);
using (var g = Graphics.FromImage(bmp))
{
    g.SmoothingMode = SmoothingMode.HighQuality;
    var points = new Point[imgSize];
    const int z = 10;
    g.FillRectangle(Brushes.White, 0, 0, bmp.Width, bmp.Height);

    for (var x = 0; x < imgSize; x++)
    {
        var y = bmp.Height - (x^z-1)/z;
        points[x] = new Point(x, y);
    }

    g.DrawCurve(Pens.Black, points);
}

bmp.Save(@"C:\Users\your_name_here\Desktop\myCurve.png", ImageFormat.Png);

我做了一些假设,比如让Z变成一个常数。此外,图像大小如果固定为500并且绘图仅发生在笛卡尔平面的右上(正/正)位置。但这就是你能想到的所有东西。请注意,由于Windows在屏幕左上角绘制了0,0,因此需要调整Y:var y = bmp.Height - (x^z-1)/z;