datahint-eu / vizor-echarts Goto Github PK
View Code? Open in Web Editor NEWBlazor Apache ECharts library
License: Apache License 2.0
Blazor Apache ECharts library
License: Apache License 2.0
The documentation is imported from the official docs using a script, not everything might be .NET relevant
Allow updating charts using data binding (OnParameterSetAsync)
demo with line -> bar transition
e.g.: DataData, List, ...
So we can show them more easily on the future documentation website
In real life, we might want to bind filters to charts, for example: to select the date range, select an interval, specify other filters, ... .
Data also tends to come from a database.
So we need a way to retrieve data in a very generic way, allowing the implementer full flexibility.
Proposed API:
// when using multiple data loaders
[Parameter]
public List<Task>? DataLoaders { get; set; }
// when only using 1 data loader
// if both DataLoader+DataLoaders are specified, DataLoader is executed first
[Parameter]
public Task? DataLoader { get; set; }
The task would be responsible to modify the ChartOptions in C#. After all data loaders are executed, the serialized ChartOptions are sent to JS.
Hello,
Very impressed so far with the library so far. I am trying to get off Syncfusion from a speed and cost perspective and Echarts is great and given my experience with Javascript having a wrapper library is perfect for me.
One of my use cases, requires me to update a separate chart when a segment of a pie chart is selected. I've got the selection part working but I cannot seem to find how to either capture the selection event or access a list of selected items.
My pie series configuration is :
options.Series = new()
{
new PieSeries()
{
Name = SeriesName,
Radius = IsDoughtnut ? new CircleRadius("40%", "70%") : new CircleRadius("50%"),
AvoidLabelOverlap = true,
StillShowZeroSum = false,
ShowEmptyCircle = false,
SelectedMode = AllowSingleSelection ? Vizor.ECharts.SelectionMode.Single : null,
SelectedOffset = 20,
Data = Data,
Label = new()
{
Show = true,
Overflow = Overflow.Truncate,
Precision = 2,
Formatter = "{b}: {d}%"
},
LabelLine = new()
{
Show = true,
},
ItemStyle = new()
{
BorderRadius = 10,
BorderColor = "#fff",
BorderWidth= 2
},
Emphasis = new()
{
ItemStyle = new()
{
ShadowBlur = 10,
ShadowOffsetX = 0,
ShadowColor = Vizor.ECharts.Color.FromRGBA(0, 0, 0, 0.5)
}
}
}
};
If anyone has any ideas it would be great to hear from you.
Hey!
i found your library and run the demo project and it all works ok but
I am getting an issue when trying to install the package with Nuget under Visual Studio.
Trying to instal Vizor.ECharts v 0.9.0
and getting this error:
Error NETSDK1082 There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'. Rentoom.Client c:\program files\dotnet\sdk\8.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets 491
the project file is updated with reference only.
less memory use for huge datasets
[JSInvokable("FormatLabel")]
private string FormatLabel(dynamic item)
{
return $"{item.Name} ({item.percent * 2}%)";
}
Challenges:
Task<T>
vs T
vs dynamic
return typeI want to set a series disabled by default, so that the user has to clicked on the legend entry to show its data in the chart. I don't found a option for. I think, the _echart.Options.Legend.Selected
property is for that, but the class Selected()
seems to have no parameters nor methods to work with. Is there a working approach to set a series disabeld by default?
Hello all,
When I use Width="auto" to fit the chart width to it's parent, it's not working:
<Vizor.ECharts.EChart Options="@options" Width="auto" Height="400px" />
Do you know if there is some workaround or if I'm not using it correctly ?
mostly type mappings of combined types
optimize the processObject function to not use recursive await's
instead: first list all replacements to be done and await what is needed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.