C# client for QuickChart chart API
Find a file
2020-11-26 18:26:11 -05:00
QuickChart Add test project, create nuget package 2020-11-26 18:26:11 -05:00
QuickChartExamples Add test project, create nuget package 2020-11-26 18:26:11 -05:00
QuickChartTest Add test project, create nuget package 2020-11-26 18:26:11 -05:00
.gitignore Initial commit 2020-11-26 17:54:03 -05:00
LICENSE Create LICENSE 2020-11-26 18:14:04 -05:00
QuickChart.sln Add test project, create nuget package 2020-11-26 18:26:11 -05:00
README.md Create README.md 2020-11-26 18:24:38 -05:00

quickchart-csharp

A C# client for the quickchart.io chart API.

Installation

Use QuickChart/QuickChart.cs in this project, or install QuickChart through NuGet.

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.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:

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: str

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.

Getting 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.