百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

「开源分享」一款功能强大的.NET 开源免费图表组件库

toyiye 2024-06-21 12:20 10 浏览 0 评论

各位网友大家周末好,今天在浏览 github的时候,无意间发现一款功能强大, 性能强悍的图表组件库, 不敢独享,赶紧拿出来与各位网友分享,希望大家喜欢。她就是【ScottPlot】。

ScottPlot 是一个用于 .NET 的免费开源绘图库,可以轻松地以交互方式显示大型数据集。轻松的创建线图,柱状图,饼状图,散点图,而且只需要几行代码。

ScottPlot 是一个 .NET 图表组件, 主要有以下特点:

适用范围广:同时适用于 WinForms, WPF, Avalonia, 控制台, 支持 .NET Framework 4.6.1 及以上, NET Core 2.0 至 .NET 5。

组件丰富:图表组件非常全面,可满足各种场景下的展示需求。

上手简单:只需几行代码即可创建折线图、条形图、饼图、散点图等。

性能强悍:千万级数据处理无压力, 媲美 Python Matplotlib。

可交互:支持用户和图表数据进行交互, 注入灵魂。

开源免费:基于MIT开源协议, 不存在版权和收费问题


快速开始

控制台应用程序快速入门

步骤 1:安装ScottPlotNuGet 包

第 2 步:绘制一些数据并将图形保存为图像文件

double[] dataX = new double[] { 1, 2, 3, 4, 5 };
double[] dataY = new double[] { 1, 4, 9, 16, 25 };
var plt = new ScottPlot.Plot(400, 300);
plt.AddScatter(dataX, dataY);
plt.SaveFig("quickstart.png");


Windows 窗体快速入门

步骤 1:安装ScottPlot.WinFormsNuGet 包

第 2 步:FormsPlot从工具箱中将a拖到您的表单上

第 3 步:在启动序列中绘制一些数据

double[] dataX = new double[] {1, 2, 3, 4, 5};
double[] dataY = new double[] {1, 4, 9, 16, 25};
formsPlot1.Plot.AddScatter(dataX, dataY);
formsPlot1.Refresh();


WPF 快速入门

步骤 1:安装ScottPlot.WPFNuGet 包

第 2 步:将 a 添加WpfPlot到您的布局并为其指定一个唯一名称

<WpfPlot Name="WpfPlot1" />

第 3 步:在启动序列中绘制一些数据

double[] dataX = new double[] { 1, 2, 3, 4, 5 };
double[] dataY = new double[] { 1, 4, 9, 16, 25 };
WpfPlot1.Plot.AddScatter(dataX, dataY);
WpfPlot1.Refresh();


Avalonia快速入门

步骤 1:安装ScottPlot.AvaloniaNuGet 包

第 2 步:ScottPlot.Avalonia通过将其添加到您的Window元素来导入命名空间:

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

您的Window元素应如下所示:

<Window xmlns="https://github.com/avaloniaui"
        <!-- More attributes -->
        x:Class="ScottPlot.Demo.Avalonia.MainWindow"
        xmlns:ScottPlot="clr-namespace:ScottPlot.Avalonia;assembly=ScottPlot.Avalonia"
        Title="Avalonia Quickstart" Width="500" Height="350">

第 3 步:将 AvaPlot 添加到您的布局并为其指定唯一名称

<ScottPlot:AvaPlot Name="AvaPlot1"/>

第 4 步:在启动序列中绘制一些数据

AvaPlot avaPlot1 = this.Find<AvaPlot>("AvaPlot1");

double[] dataX = new double[] { 1, 2, 3, 4, 5 };
double[] dataY = new double[] { 1, 4, 9, 16, 25 };
avaPlot1.Plot.AddScatter(dataX, dataY);
avaPlot1.Refresh();

F# 快速入门

步骤 1:安装ScottPlotNuGet 包

第 2 步:绘制一些数据并将图形保存为图像文件

let dataX = [| 1.0 .. 5.0 |]
let dataY = [| for x in dataX -> x * x |]
let plt = Plot(400, 300);
plt.AddScatter(dataX, dataY);
plt.SaveFig("quickstart.png");


在云端绘图

ScottPlot 不需要 GUI,因此可用于在云应用程序中创建绘图。下面的图像使用 Azure Functions 每小时重新生成一次,以更新来自 GitHub API 的星级指标和来自 NuGet API 的下载计数。数据使用 ScottPlot 绘制并保存为 blob 存储中的图像文件。


图表案例


散点图

散点图具有成对的 X/Y 点。

信号图

信号图具有均匀分布的 Y 点。信号图非常快,可以交互式显示数百万个数据点。有许多不同类型的可绘图对象,每种都有不同的用途。

轴标签和限制

可以自定义轴标签和限制

手动添加绘图表

您可以手动创建绘图,然后使用 Add() 将其添加到绘图中。这允许您创建自定义绘图类型并将它们添加到绘图中。

清除绘图表

调用 Clear() 从图中删除所有绘图表。Clear() 的重载允许您远程控制一种类型的绘图表或特定的绘图表。

高级轴功能

高级网格定制

可以使用各种配置方法广泛定制网格线。

数字格式字符串

刻度标签可以使用自定义格式字符串转换为文本。

手动刻度标签

刻度位置和标签可以手动定义。

非线性刻度间距

在常规笛卡尔空间上绘制数据,然后手动控制轴标签以显示点之间的非线性间距。

降序

ScottPlot 将始终显示 X 值从左到右递增的数据。要模拟倒轴(数字从左到右减少)在负空间中绘制数据,然后反转刻度标签的符号。

定义的刻度间距

刻度线之间的间距可以通过设置网格间距来手动定义。

刻度线标签文化

对于不同的文化,大数字和日期的格式不同。匈牙利语使用空格分隔大数字,使用句点分隔日期中的字段。

自定义刻度标签文化

SetCulture() 作为参数让用户手动定义格式化字符串,这些字符串将在全局范围内用于更改数字和日期的格式化方式。

乘数符号

在绘制大数据值时,乘数表示法使刻度标签保持较小。这种样式也称为工程记数法或科学记数法。

偏移符号

在绘制靠近在一起的大数据值时,偏移表示法使刻度标签保持较小。

定义的日期时间间隔

此示例显示如何为 DateTime 轴使用固定的刻度间距离

对数比例

ScottPlot 旨在在线性 X 和 Y 轴上显示二维数据,但您可以在绘制数据之前对数据进行对数转换,并自定义刻度和网格以呈现对数刻度的外观。

标尺模式

标尺模式是显示轴刻度的另一种方式。它绘制长刻度并偏移刻度标签以提供标尺的外观。

极坐标

辅助函数将半径和 theta 数组转换为适合使用传统绘图类型绘图的笛卡尔坐标。

图像作为轴标签

图像可以用作轴标签,以允许使用 LaTeX 轴标签之类的东西。

透明图像轴标签

PNG 的透明度受到尊重,但 JPEG 文件不支持透明度。

蜱密度

用户可以调整轴刻度密度。密度越大,显示的刻度越多。将此值设置得太高会导致刻度标签重叠。

最小刻度间距

可以定义最小刻度间距,以便放大不会产生超出定义限制的更多网格线、刻度和刻度标签。

自定义刻度格式器

为了最终控制刻度标签格式,您可以创建自定义格式化函数并使用它来将位置转换为标签。这允许使用逻辑来格式化刻度标签。

轴和刻度

轴自定义

可以通过不同方式自定义轴。轴标签和颜色是最常见的自定义类型。

禁用网格

可以使用单一方法设置主要 X 和 Y 网格的可见性。

禁用垂直网格

可以单独控制每个轴的网格线可见性。使用它可以选择性地仅对感兴趣的轴启用网格线。请记住,垂直网格线由水平轴控制。

网格样式

可以使用常见的网格线配置。

无框图

无框图可以显示接近图形边缘的数据。

仅一轴

可以禁用轴刻度和线。请注意,以这种方式隐藏它们会保留它们的空白。将 XAxis.IsVisible 设置为 false 将完全折叠轴。

旋转 X 刻度

水平刻度标签可以根据需要旋转。

旋转 Y 刻度

垂直刻度标签可以根据需要旋转。

绘制日期时间数据

此示例说明如何在水平轴上显示 DateTime 数据。使用 DateTime.ToOADate() 将 DateTime[] 转换为 double[],绘制数据,然后告诉轴将刻度标签格式化为日期。

杂项

样条插值

插值样条曲线创建具有许多 X/Y 点的曲线,以平滑连接有限数量的输入点。

动作电位

哺乳动物动作电位的原始迹线(电压)和一阶导数(电压变化/时间)。

显示缩放

启用显示缩放后,每英寸点数 (DPI) 会发生变化,因此图像看起来更大。当缩放比例增加时,位图图像被拉伸以显示更大,但结果可能会显得模糊。或者,当启用 DPI 缩放时,可以增加图像的大小,但字体和线条可能看起来很小。此示例说明如何增加常见绘图组件的大小,以便它们在高分辨率缩放显示器(例如,4K 显示器)上看起来不错。DPI 拉伸可以在用户控件的配置模块中设置。

多轴

主轴

绘图始终有 4 个可用的基本轴。主轴(XAxis 和 YAxis)是轴索引 0。次轴(XAxis2 和 YAxis2)是轴索引 1。默认情况下,主轴是完全可见的,次轴隐藏刻度且没有标签。有时,顶部轴 (XAxis2) 会被赋予一个标签来模拟绘图标题。

附加 Y 轴

可以在任何边上添加额外的轴。附加轴堆叠远离绘图区域。

右 Y 轴

此示例演示如何在图的右侧显示 Y 轴。图右侧的垂直轴是索引 1,因此必须更新图以表明它们将使用非标准轴索引。

顶部 Y 轴

此示例演示如何在图形上方显示 X 轴。图上方的水平轴是索引 1,因此必须更新图以表明它们将使用非标准轴索引。

轴可见性

可以切换轴的可见性。在此示例中,添加了一个额外的 Y 轴,但隐藏了主 Y 轴。结果是一个似乎只有一个 Y 轴的图。

调色板

类别10

这个 10 色调色板是 ScottPlot 使用的默认颜色集。它与现代版本的 Matplotlib (https://matplotlib.org/2.0.2/users/dflt_style_changes.html) 使用的默认颜色集相同

类别20

这个 20 色调色板类似于默认调色板,但针对需要 10 个以上绘图表的情况进行了优化。每隔一种颜色都是它之前颜色的较浅版本。这个调色板来自 Matplotlib。

极光

Aurora 是来自 Nord 的 5 色调色板。

Frost 是来自 Nord 的 4 色调色板。

诺德

Nord 是来自 NordConEmu 的 Aurora 源的 7 色调色板。

极地之夜

PolarNight 是来自 Nord 的 4 色调色板。此调色板针对深色背景进行了优化。

暴风雪

SnowStorm 是来自 Nord 的 3 色调色板。

一半

OneHalf 是来自 Sublime 的 7 色调色板

半黑

OneHalfDark 是一种 7 色调色板,与针对深色背景去饱和和优化的 OneHalf 调色板互补。#2e3440 是此调色板的推荐背景色。

风俗

可以从 HTML 颜色值数组创建自定义调色板。这些颜色将用作添加到绘图中的新绘图表的默认颜色。

微图

这是 Microcharts 使用的默认 12 色调色板。

色盲友好

8 色调色板,具有良好的整体可变性,可以被红绿色盲的个体区分。颜色起源于Wong 2011,https://www.nature.com/articles/nmeth.1618.pdf

统计数据

直方图

ScottPlot.Statistics.Common 包含创建直方图的方法。

直方图概率

直方图可以显示为分箱概率而不是分箱计数。也可以绘制理想的概率分布。

直方图多轴

此示例演示如何在主 Y 轴上显示直方图计数,在次要 Y 轴上显示概率曲线。

直方图标准差

此示例演示如何显示带有标记的均值和标准差的直方图。

多个直方图

此示例演示了同一图上的两个直方图。请注意在垂直轴上使用小数单位,可以轻松比较具有不同点数的数据集。与前面的示例不同,此示例不使用多个轴。

CPH

此示例演示如何绘制累积概率直方图 (CPH) 以比较两个数据集的分布。

线性回归

回归模块可用于简化创建拟合数据的线性回归线的操作。

N阶统计

集合的第 N 阶统计量是集合的第 N 个最小值(从 1 开始索引)。

百分位数

百分位数是分析数据分布和过滤极值的好工具。

分位数

q-Quantile 是四分位数和百分位数到任意数量桶的推广。

风格

默认样式

使用样式预设自定义许多绘图功能

等宽样式

使用样式预设自定义许多绘图功能

蓝1款

使用样式预设自定义许多绘图功能

蓝2款

使用样式预设自定义许多绘图功能

Light1 风格

使用样式预设自定义许多绘图功能

灰色1款

使用样式预设自定义许多绘图功能

黑色风格

使用样式预设自定义许多绘图功能

Seaborn 风格

使用样式预设自定义许多绘图功能

可绘图:注释

图注解

注释是放置在图形上 X/Y 位置的标签(不是数据区域的坐标)。与文本绘图表不同,注释不会随着轴的调整而移动。

可绘图:箭头

箭头

箭头指向图上的特定位置。

可绘图:轴线和跨度

轴线

轴线标记轴上的位置。轴线在另一个轴上延伸到正无穷大和负无穷大。

有限轴线

轴线可以有下限和/或上限。这对于标记兴趣点很有用。

可拖动的轴线

在 GUI 环境中,轴线可以用鼠标拖动和移动。拖动限制定义了可以拖动线的边界。

位置标签

可以在轴刻度和刻度标签顶部的轴上标记轴线位置。自定义位置格式化程序允许完全自定义这些标签中显示的文本。如果使用 DateTime 轴,请实现使用 DateTime.FromOADate() 的自定义格式化程序。

轴跨度

轴跨度遮蔽了一个轴的一部分。轴跨度在另一个轴上延伸到负无穷大和正无穷大。

可拖动轴跨度

可以使用鼠标拖动轴跨度。阻力限制是跨度的边缘不能跨越的边界。

忽略轴限制

调用 Plot.AxisAuto(或在绘图中单击鼠标中键)将自动设置轴限制以适合绘图上的数据。默认情况下,轴线和跨度的位置包含在自动轴限制计算中,但设置 '' 标志可以禁用此行为。

可绘制:条形图

条状图

可以从一系列值创建一个简单的条形图。默认情况下,值位于 X 位置 0、1、2 等处。

具有定义位置的条形图

可以手动定义每个条的水平位置。如果您定义条形位置,您可能还想定义条形宽度。

酒吧标签

可以通过为这些位置设置刻度标签来标记放置在特定位置的条。

带误差条的条形图

误差线可以添加到任何条形图中。

堆积条形图

条可以重叠以呈现堆叠的外观。

高于条形的值

每个条形的值可以显示在它上面。

条形填充图案

条形图填充图案可以定制。

水平条形图

条形图通常显示为列,但也可以将条形显示为行。

分组条形图

通过自定义多个条形图的位置,您可以实现分组条形图的外观。AddBarGroups() 方法旨在简化此过程。使用人口图类型可以实现更高级的分组和条形图样式。

具有 Y 偏移的条形

默认情况下,条形图从 0 开始,但并非必须如此。可以为每个条形定义 Y 偏移。当使用 Y 偏移时,值表示条的高度(相对于它们的偏移)。

负条颜色

负值条形的颜色可以与正值不同。

瀑布条形图

瀑布条形图使用条形来表示与上一级别相比值的变化。可以通过将每个条形与其之前的所有条形的总和进行偏移来创建此样式图。这种效果类似于另一部分中描述的金融图(OHLC 和烛台)。

棒棒糖图快速入门

棒棒糖图传达的信息与条形图相同,但外观不同。

棒棒糖图自定义

棒棒糖图可以广泛定制。

克利夫兰点图

克利夫兰点图允许在条形图可能拥挤的情况下比较两个类别。

日期时间条形图

条形图的默认宽度为 1.0,但在使用日期时间轴时,这意味着条形图的宽度为 1 天。要绘制 DateTime 数据,您可能需要手动将条形的宽度设置为所需的大小(以一天的几分之一为单位)。

可绘图:气泡

气泡图

气泡图在特定 X/Y 位置显示圆圈。每个圆圈都可以单独定制。保存创建气泡图时返回的对象,并调用其 Add() 方法添加气泡。

带标签的气泡

气泡图可以与其他绘图类型结合以创建更高级的图表。在这个例子中,每个气泡都伴随着一个文本对象。气泡也根据它们的大小着色,使得较小的气泡更蓝。

可绘制:颜色条

颜色条

颜色条在数据区域旁边显示颜色图。颜色条通常添加到包含热图的图中。

颜色图的颜色条

默认情况下,颜色条使用 Viridis 颜色图,但可以自定义此行为,并且可以使用许多颜色图。

颜色条刻度

刻度线可以添加到颜色条。每个刻度由一个位置(从底部到顶部的距离的一部分)和一个字符串(刻度标签)描述。

颜色范围

您可以将颜色条限制为仅显示小范围的颜色图。在这个例子中,我们只使用彩虹色图的中间。

剪切值范围

如果数据值超出颜色条显示的最小/最大范围,您可以指示颜色图正在裁剪数据值,并且不等式符号将显示在颜色条边缘的刻度标签中。

可绘图:Coxcomb

梳状图

切片角度不变但半径不变的饼图。

带有图标的 Coxcomb 图表

切片角度不变但半径不变的饼图,图标用于快速参考。

可绘图:十字准线

十字准线

十字线绘图类型绘制在绘图上的某个点相交的垂直和水平线,这些线的坐标显示在轴刻度的顶部。此绘图类型通常在 MouseMove 事件后更新以跟踪鼠标

十字准线定制

可以通过访问公共字段来自定义十字线样式和标签格式。

日期时间轴标签

十字线标签默认显示数字标签,但公共字段可以在生成轴标签时将位置转换为日期时间 (FromOATime)。

自定义标签格式

为了最终控制十字准线标签格式,您可以创建自定义格式器函数并使用它来将位置转换为标签。这允许使用逻辑来格式化十字准线标签。

多轴上的十字准线

默认情况下,十字准线标记主轴上的坐标,但可以更改轴索引,允许多个十字准线标记多个轴。

可绘图:填充

曲线下填充

填充方法有助于创建半透明多边形以填充曲线下方的区域。这可用于在散点图下呈现阴影外观,即使此处创建的绘图表是具有可选边缘颜色和填充颜色的多边形。

上下填写

有时您想共享曲线下的区域,但根据基线值的哪一侧更改其颜色。有一个辅助方法可以使这更容易。

在曲线之间填充

给定两条曲线,可以创建一个多边形来在它们之间提供阴影的外观。在这里,我们将显示两个散点图,然后创建一个多边形来填充它们之间的区域。

可绘图:金融

烛台图

ScottPlot 可以在 X/Y 空间的图上绘制一些财务指标,但希望开发强大的财务图表的用户可能应该查看其他专为财务图表设计的库。最大的限制是 (1) 缺乏鼠标交互和 (2) 水平轴是严格的数字笛卡尔空间,不适合绘制日期。也就是说,使用 ScottPlot 可以绘制一些财务图表,这本食谱演示了常见的用例。

OHLC 图表

OHLC 图表是烛台图表的替代品。它们将最高价和最低价显示为一条垂直线,并在左侧和右侧以小刻度指示开盘价和收盘价。

使用日期时间轴

您可能永远不想这样做……但是 OHLC 有一个 X 值,您可以将其自定义为 DateTime(使用 DateTime.ToOATime() 转换为双精度值)。优点是您可以在水平轴上使用原生 DateTime 轴支持。缺点是时间缺口显示为烛台中的缺口。没有交易的周末将显示为缺口。此方法的替代方法是使用序列号绘制一系列 OHLC,然后手动定义轴刻度标签。

带有自定义刻度标签的烛台

在水平轴上表示时间的更好方法是使用传统的笛卡尔坐标,将每个烛台放置在 X 位置(0、1、2 等),然后手动定义图中重要位置的位置和标签文本。这很笨拙,但可能。这种不优雅就是为什么金融图表最好用真正的金融图表库来完成,而不是像 ScottPlot 这样的科学图表库......

简单移动平均线 (SMA)

可以计算一个简单的移动平均线 (SMA) 技术指标并将其绘制为散点图。

布林带

布林带是一种常见的技术指标,显示其之前给定时间范围的平均值 +/- 两倍。

右侧价格

较新的数据出现在图表的骑行侧,因此金融图表通常也会在右侧显示垂直轴标签。这可以通过禁用左侧垂直轴 (YAxis) 并启用右侧垂直轴 (YAxis2) 来实现。左右 Y 轴是索引 0 和 1(分别),并且绘图表必须更新以指示它应该在哪个轴索引上呈现。

自定义灯芯颜色

默认情况下,蜡烛芯的颜色与它们的主体颜色相同,但这可以自定义。

自定义颜色

收盘价低于开盘价的蜡烛与收盘价或高于开盘价的蜡烛颜色不同。这些颜色可以定制。将此样式与自定义灯芯颜色(也控制蜡烛边框)相结合,以创建不同的视觉风格。

黑暗模式

可以通过自定义蜡烛和图形的颜色选项来实现暗模式金融图。本例中的颜色选择模仿 TC2000。

可绘图:函数

功能

函数图由函数(不是 X/Y 数据点)定义,因此曲线是连续的,可以无限放大和缩小

可绘制:热图

热图快速入门

热图使用颜色图显示二维数组。

边距紧的热图

如果边距设置为零并且方轴锁定被禁用,则热图可以准确地拟合绘图区域。

带颜色条的热图

使用热图时通常会添加颜色条。

平滑热图

默认情况下,热图将值显示为带有锐利边框的矩形。启用平滑功能使用双三次插值将热图显示为值之间的平滑梯度。

热图图像

可以使用热图绘图类型绘制图像数据。

二维波形

此示例演示了具有 1000 个图块的热图

色图

Viridis 是默认的颜色图,但有几种替代方法可用。

规模限制

热图颜色图比例可以使用定义的最小值/最大值。

颜色剪裁

颜色图显示的值范围可以限制为完整数据范围的一个狭窄子集。可以使颜色栏边缘的刻度标签显示不等式符号,以指示在将值转换为颜色时正在裁剪的数据范围。

按密度插值

可以使用固定大小的正方形内的计数从随机 2D 数据点创建热图。

高斯插值

可以使用带有高斯加权的双线性插值从 2D 数据点创建热图。此选项会生成标准差为 4 的热图。

自定义尺寸

默认情况下,热图从原点开始,每个矩形(单元格)的大小为 1 个单位,但可以自定义热图偏移和单元格大小。

带有空方块的热图

您可以使用可空双精度数的二维数组来指示某些方块不包含数据。这允许用户以透明方式显示热图并实现非矩形热图。

尺寸和位置

热图的边缘可以定义为定义偏移量和单元格大小的替代方法,

可绘图:图像

图像快速入门

图像绘图表将位图放置在 X/Y 空间中的某个位置。图像的位置将随着轴的移动在空间中移动,但位图的大小将始终相同(与显示分辨率匹配)。

图像对齐

默认情况下,X/Y 坐标定义图像的左上角位置,但可以自定义对齐方式。

图像旋转

图像可以旋转,但旋转总是相对于左上角。

图片边框

图片的边框可以自定义。

可绘图:标记

标记

您可以在绘图的任何位置放置单个标记。

可绘制:饼图

饼形图

饼图将数字比例说明为圆的切片。

爆炸饼图

爆炸饼图的切片之间有一些空间。

甜甜圈图

甜甜圈图是具有中空中心的饼图。

带文字的甜甜圈

自定义文本可以显示在圆环图的中心。还要注意在此示例中如何自定义每个切片的颜色。

切片值

每个切片的值可以显示在其中心。

切片百分比

每个切片的百分比可以显示在其中心。

自定义饼图颜色

可以自定义馅饼切片和标签的颜色。

传说中的切片

切片可以在图例中标记。

标记一切

切片可以用值、百分比和标签进行标记,并带有图例。

自定义切片标签

自定义切片标签可用于使用自定义格式显示值

可绘制:多边形

多边形快速入门

多边形是由成对的 X/Y 点组成的 2D 形状。最后一个点连接回第一个点,形成一个封闭的形状。多边形可以有选择地勾勒出轮廓并选择填充。半透明的颜色对多边形特别有用。

实线图

多边形可用于创建类似于实线图的 2D 形状。当与半透明填充混合时,它们可用于显示数据。

在曲线之间填充

可以通过将区域封闭为多边形来创建两条曲线之间的阴影区域。为此,两条曲线必须共享相同的 X 点。

堆积填充线图

通过重叠多边形可以实现堆叠填充线图效果。

许多多边形

特殊的渲染优化可用于显示大量多边形。

可绘制:人口

人口图

人口图可以很容易地将人口显示为条形图、箱线图、散点图或并排的箱线图和数据点。总体图与使用带有误差条的箱线图不同,因为您将原始数据传递到总体图中,它确定标准偏差、标准误差、四分位数、均值、中位数、异常值等,然后您就可以得到确定如何显示这些值。

多个人口

多个种群可以组合成一个数组并作为一个组绘制。

多系列

可以绘制多个人口组系列 这里每个组都聚集在水平轴上,每个系列被赋予不同的颜色并出现在图例中。

高级人口样式

可以以多种不同的方式显示人口。散点值可以显示在条形或条形的任一侧。人口可以显示为条形图而不是箱线图。公共字段允许许多额外的自定义。

可绘图:雷达

雷达

雷达图简洁地显示多个值。雷达图也称为蜘蛛图或星图。

直线轴线

将轴类型更改为多边形以使用直线显示雷达图。

无轴线

雷达图也可以没有绘制轴。

标记类别

类别标签可以显示在雷达图上。

标记值

标签可以显示在雷达图的臂上。

带有图像的类别

图像可以显示在雷达图的臂上。使用图像时,标签将被忽略,因此设置它们将不起作用。

独立轴缩放

轴缩放可以是独立的,允许使用不同的比例显示每个类别的值。启用独立轴模式后,轴限制会自动调整以适应数据范围。

定义的轴限制

具有独立轴限制的雷达图默认使用适合数据的比例,但可以通过定义每个轴的最大值来控制比例。

定制

雷达图支持自定义线条颜色和宽度。

可绘图:RadialGauge

径向规

径向仪表图将标量数据显示为圆形仪表。

仪表颜色

可以通过更改默认调色板来自定义仪表颜色。

负值

径向仪表图支持正值和负值。

顺序仪表模式

顺序仪表模式表示每个仪表的底部从前一个仪表的尖端开始。

相反的顺序

默认情况下,仪表从中心向外显示,但可以自定义顺序。

单表模式

SingleGauge 模式将堆叠在一起的所有仪表绘制为单个仪表。这对于显示由许多单独的较小仪表组成的进度仪表很有用。

仪表方向

仪表的方向可以定制。默认使用顺时针。

仪表尺寸

仪表之间的空白空间可以作为其宽度的一小部分进行调整。

量规帽

可以为仪表的起点和终点定制盖子。

仪表起始角

仪表的起始角度可以定制。北为 270(默认值),东为 0,南为 90,西为 180,等等。

测量角范围

默认情况下,仪表是完整的圆形(360 度),但可以通过自定义仪表大小来创建更小的仪表。

显示级别

默认情况下,每个仪表的值显示为文本,但可以覆盖此行为。请注意,这与图例中出现的标签字段不同。

仪表标签位置

默认情况下,仪表级别文本位于每个仪表的尖端,但用户可以调整此位置。

仪表标签字体百分比

仪表级别文本的大小,作为仪表宽度的一部分。

仪表标签颜色

可以自定义级别文本字体。

图例中的仪表标签

如果分配了径向仪表标签,它们将出现在图例中。

背景仪表变暗

默认情况下,每个仪表的整个范围绘制为半透明环。可以根据需要调整透明度的量。

背景测量规范化

默认情况下,仪表背景绘制为完整的圆形。可以禁用此行为以绘制非圆形仪表的部分背景。

可绘图:比例尺

比例尺

可以在任何绘图的角落添加 L 形比例尺。将垂直或水平尺寸设置为零,比例尺将仅跨越一维。

水平比例尺

将垂直或水平尺寸设置为零,比例尺将仅跨越一维。

可绘制:散点图

散点图快速入门

散点图最适合少量成对的 X/Y 数据点。对于均匀分布的数据点,信号要快得多。

自定义标记

可以使用可选参数和公共字段自定义标记。

所有标记形状

图例表示所有可用标记形状的名称

定制线

线的颜色、尺寸和样式可以定制。将 markerSize 设置为 0 可防止呈现标记。

随机 X/Y 点

散点图的 X 数据不必均匀分布,因此散点图非常适合显示这样的随机数据。

带有误差条的散点图

可以为误差线提供一组值,并且可以根据需要自定义重新分配选项

仅行

一种快捷方法可以轻松创建仅包含线条(无标记)的散点图

仅标记

一种快捷方法可以轻松创建散点图,其中每个点都显示标记(没有任何连接线)

阶梯图

阶梯图是一种特殊类型的散点图,其中点通过直角而不是直线连接。

添加标记

想要在 X/Y 空间中的某个位置放置标记?AddMarker() 将创建一个带有单个点的散点图。

可绘制:信号图

信号图快速入门

信号图非常适合具有数千或数百万个点的均匀分布的数据。

信号偏移

信号图可以有 X 和 Y 偏移,将所有数据移动一个定义的量。

速度测试

将速度与绘制为散点图的相同数据进行比较。

样式化信号图

可以使用公共字段设置信号图的样式。信号图也可以通过定义的 X 或 Y 量偏移。

阶梯显示

信号图可以设计为阶梯图,其中点通过直角而不是直线连接。

500万积分

具有数百万个点的信号图可以实时交互。

显示数据密度

在绘制超高密度数据时,您无法始终看到所有这些重叠数据点下方的趋势。如果您将一组颜色发送到 PlotSignal(),它将使用这些颜色来显示密度。

显示前 N 个点

当绘制实时数据时,在内存中分配一个大数组然后在它们进来时用值填充它是有用的。通过设置散点图的 maxRenderIndex 属性可以防止渲染数组的末尾(可能用零填充) .

绘制一系列点

有时只显示源数据数组范围内的值很有用。

在下面填写

下面可以用纯色填充信号图。

下面渐变填充

可以使用颜色渐变填充下面的信号图。

渐变填充上方

可以使用颜色渐变填充上面的信号图。

上下填写

信号图可以在上方和下方填充

上下渐变填充

渐变可用于填充上方和下方。

可绘制:SignalConst

SignalConst 快速入门

SignalConst 绘制预处理数据以比信号图更快地呈现。预处理需要一点时间,需要 4 倍于 Signal 的内存。

通用数据类型

SignalConst 支持双数组以外的其他数据类型。您可以使用此绘图类型以任何可转换为双精度的数字格式显示数据。

可绘图:SignalXY

SignalXY 快速入门

SignalXY 是一个速度优化图,用于显示具有不均匀间隔位置 (Xs) 且升序排列的值 (Ys)。如果您的数据是均匀分布的,Signal 和 SignalConst 会更快。

信号XY偏移

SignalXY 图可以具有 X 和 Y 偏移,将所有数据移动定义的量。

带间隙的信号数据

具有包含间隙的已定义 X 的信号

不同密度

丢失低密度和高密度数据的信号

SignalXY 步进模式

数据点可以用阶梯(而不是直线)连接。

带填充的 SignalXY

各种选项允许在信号数据上方/下方进行着色。

可绘图:SignalXYConst

带有 X 和 Y 数据的 SignalConst

SignalXYConst 是一个速度优化图,用于显示具有不均匀间隔位置 (Xs) 且升序排列的值 (Ys)。如果您的数据是均匀分布的,Signal 和 SignalConst 会更快。

xs 和 ys 的不同数据类型

带有 (int)Xs 和 (float)Ys 数组的 SignalXYConst

SignalConst 步进模式

数据点可以用阶梯(而不是直线)连接。

可绘图:文本

文本

文本绘图表在单位空间中的 X/Y 坐标处显示一个字符串。与 Annotation 绘图表不同,调整轴时文本会移动。

文本对齐和旋转

高级选项可用于自定义旋转和对齐。请注意,如果使用旋转,则忽略对齐。

自定义字体

您可以传入 Font 以进一步自定义字体选项

可绘图:工具提示

工具提示快速入门

工具提示是指向绘图上 X/Y 坐标的注释

工具提示字体

工具提示字体可以自定义

工具提示颜色

工具提示边框和填充样式可以自定义

可绘图:矢量场

快速开始

矢量场可用于显示由微分方程解释的数据

角度和幅度

此示例演示如何根据给定的角度和幅度定义向量。

自定义颜色图

颜色图可以根据它们的大小提供给彩色箭头

自定义比例因子

自定义比例因子可以调整箭头的长度。

缩放箭头

使用较慢的绘制方法,绘制与箭头长度成正比的尖端。


欢迎点赞+转发+关注!大家的支持是我分享最大的动力!!!

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码