首页 > 其他分享 >ScottPlot使用笔记

ScottPlot使用笔记

时间:2024-08-01 16:28:20浏览次数:12  
标签:double 笔记 使用 var myPlot WPF new ScottPlot

安装

WPF:

Install-Package ScottPlot.WPF

Avalonia:

Install-Package ScottPlot.Avalonia

相关网站

https://github.com/ScottPlot/ScottPlot
https://scottplot.net/

调研情况

ScottPlot调研情况:
目前可以用ScottPlot来绘制基本的曲线图,柱形图,饼图,雷达图。

ScottPlot最新的是5.X版本,也是目前的主要版本。
上一个大版本是4.X版本,不过应该不怎么推荐使用了,两个版本的控件名称和API这些差异很大。
网上搜资料,经常查到的是老版本的资料,对功能调研有不少影响。
ScottPlot本身支持多种平台,包括WinForms、WPF、Avalonia等平台。
本身跟Oxyplot一样,也是基于SkiaSharp开发的,两个控件的性能差不多。

细节上如果真正使用的话,还有不少东西需要调研:
1、雷达图,几个指标的上限是以传入的数值里的最大值作为上限的。这样可能[1,1,1,1,1]和[5,5,5,5,5]看起来是一样的。
2、雷达图上不知道如何显示每个指标的具体值。
3、柱形图和饼图上选项和值的标注。

示例代码

曲线图

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

<ScottPlot:WpfPlot x:Name="WpfPlot1" />
double[] dataX = { 1, 2, 3, 4, 5 };
double[] dataY = { 1, 4, 9, 16, 25 };
WpfPlot1.Plot.Add.Scatter(dataX, dataY);
WpfPlot1.Refresh();

柱形图

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

<ScottPlot:WpfPlot x:Name="WpfPlot1" />
var myPlot = WpfPlot1.Plot;

// add bars
double[] values = { 5, 10, 7, 13 };
myPlot.Add.Bars(values);

// tell the plot to autoscale with no padding beneath the bars
myPlot.Axes.Margins(bottom: 0);

饼图

var myPlot = WpfPlot1.Plot;

double[] values = { 5, 2, 8, 4, 8 };
var pie = myPlot.Add.Pie(values);
//pie.ExplodeFraction = .1;

雷达图

var myPlot = WpfPlot1.Plot;
myPlot.Font.Set(SKFontManager.Default.MatchCharacter('汉').FamilyName);
var series = new RadarSeries()
{
    Values = new double[] { 4, 4, 3, 2, 3 },
    Label = "Green",
    FillColor = ScottPlot.Colors.Green.WithAlpha(.5),
};
var radar = myPlot.Add.Radar(new RadarSeries[] { series });
radar.Labels = new string[] { "指标1", "指标2", "指标3", "指标4", "指标5" }
    .Select(s => new LabelStyle() { Text = s, Alignment = Alignment.MiddleCenter })
    .ToArray();

//myPlot.Axes.Frameless();
//myPlot.Axes.Margins(0.1, 0.1);
//myPlot.HideGrid();
myPlot.HideLegend();

FAQ

中文显示乱码

myPlot.Font.Set(SKFontManager.Default.MatchCharacter('汉').FamilyName);

标签:double,笔记,使用,var,myPlot,WPF,new,ScottPlot
From: https://www.cnblogs.com/wzwyc/p/18336922

相关文章

  • ESP32 使用MAX98357 播放MP3
    使用ESP32和MAX98357音频放大器芯片来播放音乐,效果令人惊叹! 【ESP32开发指南】   首先使用ESP32板和MAX98357芯片进行了简单的接线,下载了ArduinoI2S的库,然后用ArduinoIDE并编写了一些简单的代码来实现音乐播放。当我们启动程序并播放这首歌时,我们听到了一个令人惊叹的......
  • AlertManager简介与使用
    目录一、AlertManager简介AlertManager常用的功能Prometheus和AlertManager的关系二、分组、抑制、静默分组抑制静默三、Alertmanager部署基于k8s部署PVC资源alertmanager-storage.yamlConfigMap(邮件方式)deploy.yaml创建svc.yamlingress.yaml四、Prometheus添加告警配置k8s部......
  • 使用列表理解迭代列表
    我正在从头开始练习Python。我的代码中有两个问题。代码是将列表中的所有数字相乘。代码:str1=input("Enteryourlittlestring:")list1=str1.split()print(list1)int_list=[int(list1[int(x)])forxinrange(0,len(list1))ifstr.isdigit(list1[int(x)])]x=1......
  • 使用 Python 生产者和消费者在 Kubernetes minikube 上设置 Kafka Kraft
    我正在尝试从kubernetes集群外部连接到kubernetesminikubekafkapod。服务器启动没有任何问题,但我无法设法将本地kafka生产者/消费者连接到外部kafkapod。在集群内的kafka服务器映像上,我将bootstrap-server设置为:bin/kafka-topics.sh--create--bootst......
  • 一个div 使用flex 布局2个div,第一个div占75%,另一个占25%
    <divclass="container"><divclass="childchild-75">第一个div</div><divclass="childchild-25">第二个div</div></div>.container{display:flex;/*启用Flexbox*/width:100%;/*假设容器占满整......
  • 如何使用 python 和 bs4 修复抓取 web 表输出 csv
    请帮帮我,,我想在“td”、“Barcode”和“namaproduk”中获取2个数据,但我得到的数据非常糟糕。我应该修复什么?importcsvimportrequestsfrombs4importBeautifulSoupoutfile=open("dataaa.csv","w",newline='')writer=csv.writer(outfile)page=0whilepag......
  • 为什么 DDoS 攻击偏爱使用 TCP 和 UDP 包?
    DistributedDenialofService(DDoS)攻击是指攻击者利用多个计算机系统或网络设备(通常是被恶意软件感染的计算机,被称为“僵尸网络”)来淹没目标服务器的资源,导致合法用户无法访问服务。TCP和UDP是两种最常见的用于DDoS攻击的网络协议。1.TCP和UDP的特性TCP(Tr......
  • 使用PyCadia获取点坐标
    尝试获取CatiaV5Part中PartBody的Sketch1几何图形内特定点的坐标。importwin32com.clientfrompycatiaimportcatia#OpentheCATIAdocumentcaa=catia()#OpentheCATIAdocumentdocuments=win32com.client.Dispatch('CATIA.Application').Documents......
  • MySQL 学习笔记 进阶(InnoDB引擎 下)
    InnoDB引擎 InnoDB引擎-事务原理-概述事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。一致性(Co......
  • 《DNK210使用指南 -CanMV版 V1.0》第十六章 machine模块实验
    第十六章machine模块实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正点......