C#中科學(xué)繪圖庫ScottPlot的使用詳解
安裝和準(zhǔn)備
ScottPlot是基于.Net的一款開源免費的交互式可視化庫,支持Winform和WPF等UI框架,本文示例在WPF環(huán)境中運行。在VS的菜單欄->工具->NuGet包管理器->管理解決方案的NuGet程序包->在瀏覽選項卡的搜索框里輸入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屬性指定選項卡選項卡條位置為左側(cè)。TabItem是TabControl中的一個選項卡,Header屬性指定了選項卡標(biāo)題為“科學(xué)繪圖”。DockPanel是一個布局控件,LastChildFill屬性指定了最后一個子元素(即GroupBox)填充剩余空間。WrapPanel是另一個布局控件,DockPanel.Dock屬性指定了它位于DockPanel的右側(cè)。GroupBox是一個帶有標(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中添加一個按鈕,其點擊事件的內(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個數(shù),y=sinx 。
則點擊按鈕之后,執(zhí)行plt.Plot.AddScatter命令,并調(diào)用Refresh刷新圖形,可以得到
鼠標(biāo)點擊之后可以拖動,觸摸板雙指放大,雙擊之后會顯示渲染時長。此外,右鍵菜單提供了保存圖像、復(fù)制圖像、縮放到合適尺寸,以及在新窗口打開等功能。
簡單的設(shè)置
新建一組輸入框和按鈕,按鈕的點擊事件如下,當(dāng)點擊按鈕時,可將圖像的標(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é)繪圖庫ScottPlot的使用詳解的文章就介紹到這了,更多相關(guān)C#科學(xué)繪圖庫ScottPlot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用策略模式實現(xiàn)報警服務(wù)示例詳解(短信報警)
服務(wù)的功能:這個服務(wù)就是能夠?qū)崿F(xiàn)多通路報警的服務(wù),比如郵件報警、客戶端報警、短信報警等,該服務(wù)靈活性還不錯,比較方便擴展2014-01-01C#實例代碼之抽獎升級版可以經(jīng)表格數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,抽獎設(shè)置,補抽
這篇文章主要介紹了C#實例代碼之抽獎升級版可以經(jīng)表格數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,抽獎設(shè)置,補抽 的相關(guān)資料,需要的朋友可以參考下2016-01-01