亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#中科學(xué)繪圖庫(kù)ScottPlot的使用詳解

 更新時(shí)間:2023年12月08日 09:11:21   作者:微小冷  
ScottPlot是基于.Net的一款開(kāi)源免費(fèi)的交互式可視化庫(kù),支持Winform和WPF等UI框架,本文給大家介紹了C#中科學(xué)繪圖庫(kù)ScottPlot的使用方法,文中示例在WPF環(huán)境中運(yùn)行,需要的朋友可以參考下

安裝和準(zhǔn)備

ScottPlot是基于.Net的一款開(kāi)源免費(fèi)的交互式可視化庫(kù),支持Winform和WPF等UI框架,本文示例在WPF環(huán)境中運(yùn)行。在VS的菜單欄->工具->NuGet包管理器->管理解決方案的NuGet程序包->在瀏覽選項(xiàng)卡的搜索框里輸入ScottPlot,找到ScottPlot.WPF,然后安裝。

為了演示ScottPlot.WPF的基本功能,做如下布局,其中WrapPanel用于防止控制按鈕,名為ScottPlot的集裝箱用于防止ScottPlot的繪圖組件

<TabControl TabStripPlacement="Left">
    <TabItem Header="科學(xué)繪圖">
        <DockPanel LastChildFill="True">
            <WrapPanel DockPanel.Dock="Right">
            </WrapPanel>
            <GroupBox Header="ScottPlot">
            </GroupBox>
        </DockPanel>
    </TabItem>
</TabControl>

其中,TabStripPlacement屬性指定選項(xiàng)卡選項(xiàng)卡條位置為左側(cè)。TabItem是TabControl中的一個(gè)選項(xiàng)卡,Header屬性指定了選項(xiàng)卡標(biāo)題為“科學(xué)繪圖”。DockPanel是一個(gè)布局控件,LastChildFill屬性指定了最后一個(gè)子元素(即GroupBox)填充剩余空間。WrapPanel是另一個(gè)布局控件,DockPanel.Dock屬性指定了它位于DockPanel的右側(cè)。GroupBox是一個(gè)帶有標(biāo)題和邊框的容器控件,Header屬性指定了它的標(biāo)題為“ScottPlot”。

初步使用

為了使用ScottPlot,首先在xaml的Window標(biāo)簽中,添加

xmlns:ScottPlot="clr-namespace:ScottPlot;assembly=ScottPlot.WPF"

在GroupPanel中添加

<ScottPlot:WpfPlot x:Name="plt" />

然后在WrapPanel中添加一個(gè)按鈕,其點(diǎn)擊事件的內(nèi)容為

private void btnSin_Click(object sender, RoutedEventArgs e)
{
    var xs = Enumerable.Range(0, 1000)
                       .Select(x => x / 100.0).ToArray();
    var ys = xs.Select(x => Math.Sin(x)).ToArray();

    plt.Plot.AddScatter(xs, ys);
    plt.Refresh();
}

其中,xs是從0到10均等間隔的1000 10001000個(gè)數(shù),y=sinx 。

則點(diǎn)擊按鈕之后,執(zhí)行plt.Plot.AddScatter命令,并調(diào)用Refresh刷新圖形,可以得到

鼠標(biāo)點(diǎn)擊之后可以拖動(dòng),觸摸板雙指放大,雙擊之后會(huì)顯示渲染時(shí)長(zhǎng)。此外,右鍵菜單提供了保存圖像、復(fù)制圖像、縮放到合適尺寸,以及在新窗口打開(kāi)等功能。

簡(jiǎn)單的設(shè)置

新建一組輸入框和按鈕,按鈕的點(diǎn)擊事件如下,當(dāng)點(diǎn)擊按鈕時(shí),可將圖像的標(biāo)題、X與Y軸的內(nèi)容設(shè)置為輸入框中的文本

private void btnSet_Click(object sender, RoutedEventArgs e)
{
    plt.Plot.Title(tbTitle.Text);
    plt.Plot.XLabel(tbAxisX.Text);
    plt.Plot.YLabel(tbAxisY.Text);
}

效果如下

到此這篇關(guān)于C#中科學(xué)繪圖庫(kù)ScottPlot的使用詳解的文章就介紹到這了,更多相關(guān)C#科學(xué)繪圖庫(kù)ScottPlot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論