2016-03-03 6 views
6
open FSharp.Charting 
open System 

[<EntryPoint>] 
let main argv = 
    printfn "%A" argv 
    let x = Chart.Line [ for x in -100 .. 100 -> x, pown x 3] 
    let y = Console.ReadKey(); 
    0 //return an integer exit code 

नमस्ते में काम नहीं करता, मैं परियोजना मोड नहीं एक स्क्रिप्ट के साथ एफ # खेलने के लिए कोशिश कर रहा हूँ। अब तक मेरे पास उपरोक्त कोड है और साथ ही उसने मुझे सिस्टम का संदर्भ जोड़ने के लिए कहा है। जो मैंने किया वह भी।मेरे एफ # चार्ट लाइब्रेरी एक परियोजना

मेरे पास संकलन करते समय 0 त्रुटियां या चेतावनियां हैं और यह पूरी तरह ठीक है। कंसोल स्क्रीन दिखाई देती है लेकिन कुछ और नहीं होता है। ग्राफ बस दिखाई नहीं देता है या कुछ भी नहीं।

मैंने इंटरैक्टिव विंडो में यह कोशिश की है और यह वहां बिल्कुल ठीक काम करता है। कोई विचार?

उत्तर

6

का संदर्भ लें के रूप में @ s952163 उल्लेख किया है, आप कर सकते थे Winforms को लपेटो। हालांकि, ShowChart() पहले से ही System.Windows.Form मान देता है। इसलिए, जब तक आप Application.Run(f) के साथ ईवेंट पंप कर रहे हैं, यह कोड भी ठीक काम करता है:

[<EntryPoint>] 
let main argv = 
    printfn "%A" argv 
    let f = (Chart.Line [ for x in -100 .. 100 -> x, pown x 3]).ShowChart() 
    System.Windows.Forms.Application.Run(f) 
    0 
4

आपको इसे Winforms में लपेटना चाहिए। कृपया देखें: How to display an FSharp.Charting graph in an existing form?

एक बहुत barebones उदाहरण:

open FSharp.Charting 
open System 
open System.Windows.Forms 

[<STAThread>] 
[<EntryPoint>] 
let main argv = 
    printfn "%A" argv 
    let chart = Chart.Line [ for x in -100 .. 100 -> x, pown x 3] 
    let f1 = new Form(Visible = true, TopMost = true, Width = 700, Height = 500) 
    f1.Controls.Add(new ChartTypes.ChartControl(chart, Dock = DockStyle.Fill)) 
    Application.Run(f1) 
    0 // return an integer exit code 

System.Drawing, System.Windows.Forms, System.Windows.Forms.DataVisualization

संबंधित मुद्दे