欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#科學繪圖之使用scottPlot繪制多個圖像

 更新時間:2023年12月12日 08:57:19   作者:微小冷  
ScottPlot是基于.Net的一款開源免費的交互式可視化庫,支持Winform和WPF等UI框架,本文主要為大家詳細介紹了如何使用scottPlot實現(xiàn)繪制多個圖像,需要的可以參考下

示例

從名字就能看出,ScottPlot的繪圖函數(shù)AddScatter的作用是為圖窗添加數(shù)據(jù)點,換言之,每調(diào)用一次AddScatter,就可以在圖窗中添加一組圖像。下面添加兩個按鈕,分別用于繪制正弦和余弦圖像,其正弦按鈕的響應函數(shù)如下

ScatterPlot sinPlot;
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();

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

其中,sinPlot被設為全局變量,目的是方便后續(xù)用其他按鈕來操縱函數(shù)圖像。余弦圖像的相應函數(shù)如出一轍,只需把變量名以及y s ysys的生成過程更改一下,效果如下

移除圖像

移除圖像,只需調(diào)用Remove函數(shù),以移除正弦函數(shù)為例,其相應動作如下

private void btnRmSin_Click(object sender, RoutedEventArgs e)
{
    plt.Plot.Remove(sinPlot);
    plt.Refresh();
}

下面演示一下移除圖像的效果,順便參悟一下彈出窗口的邏輯,所謂彈出窗口,就是把當前圖窗中的圖形作為一個對象復制一份,然后這個對象將與舊圖窗變成陌生人,互不相干。

圖例

若想在圖窗中對兩個圖像做區(qū)分,就需要指明圖像的Label,仍以正弦函數(shù)為例,修改繪制按鈕的點擊函數(shù),當然余弦函數(shù)也做相似處理。

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

    sinPlot = plt.Plot.AddScatter(xs, ys,label:"sin");
    plt.Plot.Legend();
    plt.Refresh();
}

由于前面1000 10001000個點的繪制效果不太好看,所以上面代碼把點數(shù)控制在100個,繪制結果如下

信號圖

Scott支持把不同類型的圖像在一個圖窗中繪制,例如可以同時繪制散點圖和信號圖,示例如下

SignalPlot sigPlot;
private void btnSignal_Click(object sender, RoutedEventArgs e)
{
    double[] values = DataGen.RandomWalk(1_000_000, 0.003, 0.5);
    sigPlot = plt.Plot.AddSignal(values, sampleRate: 48_000);
    plt.Refresh();
}

這個圖像和前面的sinPlot,cosPlot連數(shù)據(jù)類型都是不一致的,不過很顯然二者有相同的父類。下面是其繪圖結果

到此這篇關于C#科學繪圖之使用scottPlot繪制多個圖像的文章就介紹到這了,更多相關C# scottPlot繪制多個圖像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C# 對XML基本操作代碼總結

    C# 對XML基本操作代碼總結

    C# 對XML基本操作包括讀取節(jié)點的數(shù)據(jù),添加節(jié)點。讀取節(jié)點屬性,修改節(jié)點屬性等
    2011-10-10
  • winform樹形菜單無限級分類實例

    winform樹形菜單無限級分類實例

    本文介紹了“winform樹形菜單無限級分類實例”,需要的朋友可以參考一下
    2013-03-03
  • c#線程間傳遞參數(shù)詳解

    c#線程間傳遞參數(shù)詳解

    本篇文章主要是對c#中的線程間傳遞參數(shù)進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • c# WinForm 窗體之間傳值的幾種方式(小結)

    c# WinForm 窗體之間傳值的幾種方式(小結)

    這篇文章主要介紹了WinForm 窗體之間傳值的幾種方式(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • C#操作SQLite數(shù)據(jù)庫幫助類詳解

    C#操作SQLite數(shù)據(jù)庫幫助類詳解

    這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫幫助類,詳細分析了C#針對sqlite數(shù)據(jù)庫的連接、查詢、分頁等各種常見操作的實現(xiàn)與封裝技巧,需要的朋友可以參考下
    2017-07-07
  • 基于WPF實現(xiàn)顏色選擇器控件

    基于WPF實現(xiàn)顏色選擇器控件

    這篇文章主要介紹了如何基于WPF實現(xiàn)簡單的顏色選擇器控件,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的小伙伴可以參考一下
    2023-08-08
  • C# XML字符串包含特殊字符的處理轉換方法小結

    C# XML字符串包含特殊字符的處理轉換方法小結

    今天用C#輸出XML文件時,發(fā)現(xiàn)報錯,經(jīng)過反復檢查調(diào)試,發(fā)現(xiàn)是因為某處內(nèi)容含有某些特殊字符,這些特殊字符是在XML里不被允許的
    2020-07-07
  • C#把EXCEL數(shù)據(jù)轉換成DataTable

    C#把EXCEL數(shù)據(jù)轉換成DataTable

    這篇文章介紹了C#把EXCEL數(shù)據(jù)轉換成DataTable的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#中Json的簡單處理方法

    C#中Json的簡單處理方法

    這篇文章主要介紹了C#中Json的簡單處理方法的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • C#中實現(xiàn)插入、刪除Excel分頁符的方法

    C#中實現(xiàn)插入、刪除Excel分頁符的方法

    這篇文章主要給大家介紹了關于在C#中實現(xiàn)插入、刪除Excel分頁符的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-05-05

最新評論