图形表示 - 数据分布

时间:2013-09-24 21:42:59

标签: c++ graphics

我有一个数据分发,我想在c ++程序中显示它(例如Eclipse)。我可以在这里使用图书馆吗?我查找了graphics.h,但似乎需要花费大量时间来构建这样的东西。 像这样的东西会很棒,但更简单的版本也适合我。 enter image description here

1 个答案:

答案 0 :(得分:1)

是的,您可以尝试使用ImageMagick。除了C / C ++之外,它还有许多其他语言的包装器!

这里的小演示足以让你开始你想要的东西!

int main( int argc, char * argv[] )
{
    int value[ 5 ] = { 10, 20, 30, 20, 10 };

    double width( 200 ), height( 200 );

    Magick::Image chart;
    chart.size( Magick::Geometry( width, height ) );
    chart.draw( Magick::DrawableRectangle( 0.0, 0.0, width, height ) );

    chart.strokeColor( Magick::Color( 255, 255, 255 ) );
    chart.draw( Magick::DrawableLine( width * 0.1, 0.0, width * 0.1, height ) );
    chart.draw( Magick::DrawableLine( 0.0, height * 0.9, width, height * 0.9 ) );

    double W( width * 0.8 / 5.0 );

    for ( int i( 0 ); i <= 4; i++ )
    {
        double X0( width * 0.1 + i * W );
        double Y0( height * 0.9 );

        chart.draw( Magick::DrawableRectangle( X0, Y0, X0 + W, Y0 - 4.0 * value[ i ] ) );
    }

    chart.write( "chart.png" );

    return 0;
}

它会创建一个这样的图形:

enter image description here

祝你好运!