Flutter SfCharts label padding - flutter

How can I add padding to the labels, or position them further away from the plotting area? It currently looks like this, but I want to increase the red space:
I am using the SfCartesianChart from the flutter_syncfusion_charts package.

I suggest you use the majorTickLines property in the axis, using this you can achieve your requirement by setting the size of the tick and setting the color as transparent. I have attached the code snippet below for your reference.
Code snippet:
primaryYAxis: NumericAxis(
majorTickLines:
const MajorTickLines(size: 15, color: Colors.transparent)),
UG: https://help.syncfusion.com/flutter/cartesian-charts/axis-customization#tick-lines-customization

Related

what is differencebetween spacing and runSpacing in Flutter Wrap() Widget?

what is difference between spacing and run space named parameter Flutter Wrap() Widget and also run alignment property please explain that
spacing is the space between the children in the main axis and runSpacing is the space in the cross axis.
Consider this example (for default alignment)
SizedBox(
width: 300,
child: Wrap(
spacing: 20.0, // Horizontal space.
runSpacing: 30.0, // Vertical space.
children: <Widget>[
apple,
ball,
champion,
destructor,
eagle,
],
),
)
Widget Wrap spacing means the space between two widget in main axis
Widget Wrap runSpacing means the space between two widget in cross axis
Check this video. https://www.youtube.com/watch?v=z5iw2SeFx2M
spacing: 10.0 : gap between adjacent box (How much space to place between children in a run in the main axis.)
runSpacing: 20.0 : gap between lines (How much space to place between the runs themselves in the cross axis.)

How to define minimum and maximum axis values in a flutter chart?

I have a bubble chart (ScatterPlotChart) like the one below and I would like to change the values 0 on the x-axis and 0 on the y-axis to another value. I would like to change maximum values too.
I've been going through the documentation and examples that appear at Flutter Gallery Charts but I can't find how to change these values.
I'm using charts_flutter (as charts) and the code where I define the ticks of the axes is as follows:
charts.ScatterPlotChart (
seriesList,
primaryMeasureAxis: charts.NumericAxisSpec (
tickProviderSpec: new charts.BasicNumericTickProviderSpec (desiredMaxTickCount: 2,),
),
domainAxis: charts.NumericAxisSpec (
tickProviderSpec: new charts.BasicNumericTickProviderSpec (desiredTickCount: 2,),
),
...
Is it possible to change the minimum and maximum values of the x and y axes in flutter graphs?
You need to add zeroBound: false on the BasicNumericTickProviderSpec. Something like:
tickProviderSpec: new charts.BasicNumericTickProviderSpec(
desiredTickCount: 2,
zeroBound: false
),

How to make Echarts areaStyle fill whole polar?

I'm working with line-polar eCharts on Angular, and I ran into a problem with areaStyle. I want it to fill the whole area from the line to the outer most circle with the yellow color, but eCharts left out a little bit of empty space. I tried creating a shadowBlur and offsetX, Y it to the blank area, but the color is not the same. Is there a property of areaStyle I'm missing, or is there a library to fix this?
series = [{
coordinateSystem: 'polar',
name: this.legends[1],
type: 'line',
color: '#D9B100',
data: this.datasetCylinder.data,
smooth: true,
showSymbol: false,
lineStyle: {
show: true,
width: 3,
shadowBlur: 10,
shadowColor: 'gold'
},
areaStyle: {
color: 'gold',
origin: 'end',
opacity: 0.1
}
}]
A simple solution would be to add more points in between, but then chart yellow line might not have the correct form. Any suggestion is appreciated.
There is no easy solution but you can try to find it:
Draw the area outside the circle boundaries and then cut the excess with VisualMap.
Cut area in already filled circle by VisualMap with pieces.
Use custom series and draw all with polygons.

Is it possible to zoom vertical axis on Flutter Charts?

I am trying to familiarize with charts in Flutter, using github.com/google/charts package.
I want to make a chart (bar, line, scatter or any other.. this, for example) where I can zoom and pan not only the x-axis, but also the vertical y-axis (abscissa).
The zoom in x-axis is working adding the behavior behaviors: [new charts.PanAndZoomBehavior(),] :
#override
Widget build(BuildContext context) {
return new charts.BarChart(
seriesList,
animate: animate,
behaviors: [new charts.PanAndZoomBehavior(),
],
domainAxis: new charts.OrdinalAxisSpec(
viewport: new charts.OrdinalViewport('2018', 4)),
);
}
the x-axis zoom is not centered, as asked in this question, but it's ok to me.
A first step would be disable the auto-fit of the vertical axis is adjusting the range between 0 and the max value of the data that appear in that moment in the chart.
Any idea how to enable zoom gesture on the y-axis or at least disable the auto-fit of y-axis (fix the range of y-axis)?
It is quite similar to what you did in domainAxis.
You could just add an axisSpec to the primaryMeasureAxis (y-axis).
like this,
primaryMeasureAxis: charts.NumericAxisSpec(
viewport: charts.NumericExtents(4, 8)),
But this doesn't work properly in bar charts.
As of my experience, the bar chart will go below the x-axis. It hasn't be fixed yet.
It works well with line chart though.

How to draw border around the chart area in Google Charts?

I need a border around just the chart area and not the whole chart. I can't find what property to set. This is in the Google Visualization API.
The appropriate option is undocumented. You need to set the chartArea.backgroundColor.stroke and chartArea.backgroundColor.strokeWidth options. The stroke option controls the color of the border, and takes any valid HTML color string. The strokeWidth option controls the width of the border, and takes an integer for the width in pixels:
chartArea: {
backgroundColor: {
stroke: '#4322c0',
strokeWidth: 3
}
}