QuickChart 2.3.0
dotnet add package QuickChart --version 2.3.0
NuGet\Install-Package QuickChart -Version 2.3.0
<PackageReference Include="QuickChart" Version="2.3.0" />
paket add QuickChart --version 2.3.0
#r "nuget: QuickChart, 2.3.0"
// Install QuickChart as a Cake Addin #addin nuget:?package=QuickChart&version=2.3.0 // Install QuickChart as a Cake Tool #tool nuget:?package=QuickChart&version=2.3.0
quickchart-csharp
A C# client for the quickchart.io chart API.
Installation
Use QuickChart/QuickChart.cs
in this project, or install the QuickChart
package from NuGet:
PM> Install-Package QuickChart -Version 2.3.0
or
dotnet add package QuickChart --version 2.3.0
Usage
This library provides a QuickChart
namespace containing a Chart
class. Import and instantiate it. Then set properties on it and specify a Chart.js config:
Chart qc = new Chart();
qc.Width = 500;
qc.Height = 300;
qc.Version = "2.9.4";
qc.Config = @"{
type: 'bar',
data: {
labels: ['Q1', 'Q2', 'Q3', 'Q4'],
datasets: [{
label: 'Users',
data: [50, 60, 70, 180]
}]
}
}";
Use GetUrl()
on your QuickChart object to get the encoded URL that renders your chart:
Console.WriteLine(qc.GetUrl());
// https://quickchart.io/chart?c=%7B%22chart%22%3A+%7B%22type%22%3A+%22bar%22%2C+%22data%22%3A+%7B%22labels%22%3A+%5B%22Hello+world%22%2C+%22Test%22%5D%2C+%22datasets%22%3A+%5B%7B%22label%22%3A+%22Foo%22%2C+%22data%22%3A+%5B1%2C+2%5D%7D%5D%7D%7D%7D&w=600&h=300&bkg=%23ffffff&devicePixelRatio=2.0&f=png
If you have a long or complicated chart, use GetShortUrl()
to get a fixed-length URL using the quickchart.io web service (note that these URLs only persist for a short time unless you have a subscription):
Console.WriteLine(qc.GetShortUrl());
// https://quickchart.io/chart/render/f-a1d3e804-dfea-442c-88b0-9801b9808401
The URLs will render an image of a chart:
<img src="https://quickchart.io/chart?c=%7B%22type%22%3A+%22bar%22%2C+%22data%22%3A+%7B%22labels%22%3A+%5B%22Hello+world%22%2C+%22Test%22%5D%2C+%22datasets%22%3A+%5B%7B%22label%22%3A+%22Foo%22%2C+%22data%22%3A+%5B1%2C+2%5D%7D%5D%7D%7D&w=600&h=300&bkg=%23ffffff&devicePixelRatio=2.0&f=png" width="500" />
Customizing your chart
You can set the following properties:
Config: string
The actual Chart.js chart configuration.
Width: int
Width of the chart image in pixels. Defaults to 500
Height: int
Height of the chart image in pixels. Defaults to 300
BackgroundColor: string
The background color of the chart. Any valid HTML color works. Defaults to #ffffff (white). Also takes rgb, rgba, and hsl values.
DevicePixelRatio: double
The device pixel ratio of the chart. This will multiply the number of pixels by the value. This is usually used for retina displays. Defaults to 1.0.
Format: string
The output format of the chart. Defaults to "png"
Version: string
Chart.js version (not required)
Key: string
API key (not required)
Creating chart URLs
There are a few ways to get a URL for your chart object.
GetUrl(): string
Returns a URL that will display the chart image when loaded.
GetShortUrl(): string
Uses the quickchart.io web service to create a fixed-length chart URL that displays the chart image. Returns a URL such as https://quickchart.io/chart/render/f-a1d3e804-dfea-442c-88b0-9801b9808401
.
Note that short URLs expire after a few days for users of the free service. You can subscribe to keep them around longer.
Other methods
ToFile(string path)
Write your chart to file.
ToByteArray(): byte[]
Returns an array of bytes representing your image.
More examples
Checkout the QuickChartExamples
project to see other usage.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 5.0.0)
-
.NETFramework 4.7.2
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 5.0.0)
-
.NETStandard 2.0
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 5.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on QuickChart:
Package | Downloads |
---|---|
AutoTestExtras.Core
Automation test extension for API/Web/Mobile/Performance with enabled dotnet core support and other features. This package includes the AutoTestExtras framework assembly, which is referenced by your automation tests. |
|
Aletheia.Bot
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.