Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Examples/Charts.Bubble.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Import-Module $PSScriptRoot\..\ImagePlayground.psd1 -Force

New-ImageChart {
New-ImageChartBubble -Name "First" -X 1,2,3 -Y 4,5,6 -Size 10,20,30 -Color Blue
New-ImageChartBubble -Name "Second" -X 1,2,3 -Y 3,2,1 -Size 15,10,25 -Color Red
} -Show -FilePath $PSScriptRoot\Output\ChartsBubble.png -Width 500 -Height 500
2 changes: 1 addition & 1 deletion ImagePlayground.psd1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@{
AliasesToExport = @('New-QRCode', 'New-QRCodeWiFi')
Author = 'Przemyslaw Klys'
CmdletsToExport = @('Add-ImageText', 'Add-ImageTextBox', 'Add-ImageWatermark', 'Clear-ImageThumbnailCache', 'Compare-Image', 'ConvertFrom-ImageBase64', 'ConvertTo-Image', 'ConvertTo-ImageBase64', 'Export-ImageMetadata', 'Get-Image', 'Get-ImageBarCode', 'Get-ImageExif', 'Get-ImageQRCode', 'Import-ImageMetadata', 'Merge-Image', 'New-ImageAvatar', 'New-ImageBarCode', 'New-ImageChart', 'New-ImageChartAnnotation', 'New-ImageChartArea', 'New-ImageChartBar', 'New-ImageChartBarOptions', 'New-ImageChartHeatmap', 'New-ImageChartHistogram', 'New-ImageChartLine', 'New-ImageChartPie', 'New-ImageChartPolar', 'New-ImageChartRadial', 'New-ImageChartScatter', 'New-ImageCrop', 'New-ImageGif', 'New-ImageGrid', 'New-ImageIcon', 'New-ImageMosaic', 'New-ImageQRCode', 'New-ImageQRCodeBezahlCode', 'New-ImageQRCodeBitcoin', 'New-ImageQRCodeGeoLocation', 'New-ImageQRCodeGirocode', 'New-ImageQRCodeMonero', 'New-ImageQRCodeOtp', 'New-ImageQRCodePhoneNumber', 'New-ImageQRCodeShadowSocks', 'New-ImageQRCodeSkypeCall', 'New-ImageQRCodeSlovenianUpnQr', 'New-ImageQRCodeSms', 'New-ImageQRCodeSwiss', 'New-ImageQRCodeWiFi', 'New-ImageQRContact', 'New-ImageThumbnail', 'Remove-ImageExif', 'Resize-Image', 'Save-Image', 'Set-ImageAdjust', 'Set-ImageBlur', 'Set-ImageExif', 'Set-ImageRotation', 'Set-ImageSharpen')
CmdletsToExport = @('Add-ImageText', 'Add-ImageTextBox', 'Add-ImageWatermark', 'Clear-ImageThumbnailCache', 'Compare-Image', 'ConvertFrom-ImageBase64', 'ConvertTo-Image', 'ConvertTo-ImageBase64', 'Export-ImageMetadata', 'Get-Image', 'Get-ImageBarCode', 'Get-ImageExif', 'Get-ImageQRCode', 'Import-ImageMetadata', 'Merge-Image', 'New-ImageAvatar', 'New-ImageBarCode', 'New-ImageChart', 'New-ImageChartAnnotation', 'New-ImageChartArea', 'New-ImageChartBar', 'New-ImageChartBarOptions', 'New-ImageChartBubble', 'New-ImageChartHeatmap', 'New-ImageChartHistogram', 'New-ImageChartLine', 'New-ImageChartPie', 'New-ImageChartPolar', 'New-ImageChartRadial', 'New-ImageChartScatter', 'New-ImageCrop', 'New-ImageGif', 'New-ImageGrid', 'New-ImageIcon', 'New-ImageMosaic', 'New-ImageQRCode', 'New-ImageQRCodeBezahlCode', 'New-ImageQRCodeBitcoin', 'New-ImageQRCodeGeoLocation', 'New-ImageQRCodeGirocode', 'New-ImageQRCodeMonero', 'New-ImageQRCodeOtp', 'New-ImageQRCodePhoneNumber', 'New-ImageQRCodeShadowSocks', 'New-ImageQRCodeSkypeCall', 'New-ImageQRCodeSlovenianUpnQr', 'New-ImageQRCodeSms', 'New-ImageQRCodeSwiss', 'New-ImageQRCodeWiFi', 'New-ImageQRContact', 'New-ImageThumbnail', 'Remove-ImageExif', 'Resize-Image', 'Save-Image', 'Set-ImageAdjust', 'Set-ImageBlur', 'Set-ImageExif', 'Set-ImageRotation', 'Set-ImageSharpen')
CompanyName = 'Evotec'
CompatiblePSEditions = @('Desktop', 'Core')
Copyright = '(c) 2011 - 2025 Przemyslaw Klys @ Evotec. All rights reserved.'
Expand Down
32 changes: 32 additions & 0 deletions Sources/ImagePlayground.Chart/ChartBubble.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
using System.Collections.Generic;
using ImageColor = SixLabors.ImageSharp.Color;

namespace ImagePlayground;

/// <summary>Bubble chart definition.</summary>
public sealed class ChartBubble : ChartDefinition {
/// <summary>X values.</summary>
public IList<double> X { get; }

/// <summary>Y values.</summary>
public IList<double> Y { get; }

/// <summary>Size values.</summary>
public IList<double> Size { get; }

/// <summary>Bubble color.</summary>
public ImageColor? Color { get; }

/// <summary>Create a bubble chart definition.</summary>
/// <param name="name">Series name.</param>
/// <param name="x">X data points.</param>
/// <param name="y">Y data points.</param>
/// <param name="size">Bubble sizes.</param>
/// <param name="color">Optional bubble color.</param>
public ChartBubble(string name, IList<double> x, IList<double> y, IList<double> size, ImageColor? color = null) : base(ChartDefinitionType.Bubble, name) {
X = x;
Y = y;
Size = size;
Color = color;
}
}
54 changes: 28 additions & 26 deletions Sources/ImagePlayground.Chart/ChartDefinitionType.cs
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@
namespace ImagePlayground;

/// <summary>
/// Type of chart definition.
/// </summary>
public enum ChartDefinitionType
{
/// <summary>Bar chart.</summary>
Bar,
/// <summary>Line chart.</summary>
Line,
/// <summary>Scatter chart.</summary>
Scatter,
/// <summary>Polar plot.</summary>
Polar,
/// <summary>Pie chart.</summary>
Pie,
/// <summary>Radial gauge chart.</summary>
Radial,
/// <summary>Heatmap chart.</summary>
Heatmap,
/// <summary>Histogram chart.</summary>
Histogram,
/// <summary>Area chart.</summary>
Area
}
namespace ImagePlayground;

/// <summary>
/// Type of chart definition.
/// </summary>
public enum ChartDefinitionType
{
/// <summary>Bar chart.</summary>
Bar,
/// <summary>Line chart.</summary>
Line,
/// <summary>Scatter chart.</summary>
Scatter,
/// <summary>Bubble chart.</summary>
Bubble,
/// <summary>Polar plot.</summary>
Polar,
/// <summary>Pie chart.</summary>
Pie,
/// <summary>Radial gauge chart.</summary>
Radial,
/// <summary>Heatmap chart.</summary>
Heatmap,
/// <summary>Histogram chart.</summary>
Histogram,
/// <summary>Area chart.</summary>
Area
}
Expand Down
Loading