Skip to content
Snippets Groups Projects
Commit 1bce7da2 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Improve vertical axis legends

parent 7fd165e0
No related branches found
No related tags found
1 merge request!53Resolve "Swap vertical titles in main timeline chart"
Pipeline #4771 passed
This commit is part of merge request !53. Comments created here will be created in the context of that merge request.
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=0.0.50 app.versionName=0.0.51
app.versionCode=50 app.versionCode=51
Improve vertical axis legends.
Amélioration des axes verticaux des graphiques.
...@@ -89,47 +89,15 @@ class CustomBarChart extends CustomChart { ...@@ -89,47 +89,15 @@ class CustomBarChart extends CustomChart {
); );
} }
FlTitlesData getTitlesData() { Widget getHorizontalTitlesWidget(double value, TitleMeta meta) {
const AxisTitles none = const AxisTitles( return getHorizontalTitlesWidgetWithDate(value, meta);
sideTitles: SideTitles(showTitles: false), }
);
final AxisTitles verticalTitles = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 35,
getTitlesWidget: getVerticalTitlesWidget,
interval: this.verticalTicksInterval,
),
);
final AxisTitles verticalSpacer = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 35,
getTitlesWidget: getVerticalTitlesSpacerWidget,
interval: this.verticalTicksInterval,
),
);
final AxisTitles horizontalTitles = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 20,
getTitlesWidget: getHorizontalTitlesWidget,
),
);
return FlTitlesData( Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) {
show: true, return getVerticalTitlesWidgetWithValue(value, meta);
bottomTitles: horizontalTitles,
leftTitles: verticalTitles,
topTitles: none,
rightTitles: verticalSpacer,
);
} }
Widget getHorizontalTitlesWidget(double value, TitleMeta meta) { Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) {
return getHorizontalTitlesWidgetWithDate(value, meta); return getVerticalTitlesWidgetWithValue(value, meta);
} }
} }
...@@ -95,8 +95,42 @@ class CustomChart extends StatelessWidget { ...@@ -95,8 +95,42 @@ class CustomChart extends StatelessWidget {
} }
FlTitlesData getTitlesData() { FlTitlesData getTitlesData() {
const AxisTitles none = const AxisTitles(
sideTitles: SideTitles(showTitles: false),
);
final AxisTitles verticalTitlesLeft = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 35,
getTitlesWidget: getVerticalLeftTitlesWidget,
interval: this.verticalTicksInterval,
),
);
final AxisTitles verticalTitleRight = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 35,
getTitlesWidget: getVerticalRightTitlesWidget,
interval: this.verticalTicksInterval,
),
);
final AxisTitles horizontalTitles = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 20,
getTitlesWidget: getHorizontalTitlesWidget,
),
);
return FlTitlesData( return FlTitlesData(
show: false, show: true,
bottomTitles: horizontalTitles,
leftTitles: verticalTitlesLeft,
topTitles: none,
rightTitles: verticalTitleRight,
); );
} }
...@@ -104,6 +138,14 @@ class CustomChart extends StatelessWidget { ...@@ -104,6 +138,14 @@ class CustomChart extends StatelessWidget {
return Text(''); return Text('');
} }
Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) {
return Text('');
}
Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) {
return Text('');
}
Widget getHorizontalTitlesWidgetWithDate(double value, TitleMeta meta) { Widget getHorizontalTitlesWidgetWithDate(double value, TitleMeta meta) {
final DateFormat formatter = DateFormat('dd/MM'); final DateFormat formatter = DateFormat('dd/MM');
...@@ -173,7 +215,7 @@ class CustomChart extends StatelessWidget { ...@@ -173,7 +215,7 @@ class CustomChart extends StatelessWidget {
); );
} }
Widget getVerticalTitlesWidget(double value, TitleMeta meta) { Widget getVerticalTitlesWidgetWithValue(double value, TitleMeta meta) {
String suffix = String suffix =
this.verticalAxisTitleSuffix != '' ? ' ' + this.verticalAxisTitleSuffix : ''; this.verticalAxisTitleSuffix != '' ? ' ' + this.verticalAxisTitleSuffix : '';
......
...@@ -34,42 +34,11 @@ class CustomLineChart extends CustomChart { ...@@ -34,42 +34,11 @@ class CustomLineChart extends CustomChart {
}; };
} }
FlTitlesData getTitlesData() { Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) {
const AxisTitles none = const AxisTitles( return getVerticalTitlesWidgetWithValue(value, meta);
sideTitles: SideTitles(showTitles: false), }
);
final AxisTitles verticalTitles = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 35,
getTitlesWidget: getVerticalTitlesWidget,
interval: this.verticalTicksInterval,
),
);
final AxisTitles verticalSpacer = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 35,
getTitlesWidget: getVerticalTitlesSpacerWidget,
),
);
final AxisTitles horizontalTitles = AxisTitles(
sideTitles: SideTitles(
showTitles: true,
reservedSize: 20,
getTitlesWidget: getHorizontalTitlesWidget,
),
);
return FlTitlesData( Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) {
show: true, return getVerticalTitlesWidgetWithValue(value, meta);
bottomTitles: horizontalTitles,
leftTitles: verticalSpacer,
topTitles: none,
rightTitles: verticalTitles,
);
} }
} }
...@@ -92,7 +92,7 @@ class ChartHeatmap extends CustomChart { ...@@ -92,7 +92,7 @@ class ChartHeatmap extends CustomChart {
sideTitles: SideTitles( sideTitles: SideTitles(
showTitles: true, showTitles: true,
reservedSize: 40, reservedSize: 40,
getTitlesWidget: getVerticalTitlesWidget, getTitlesWidget: getVerticalTitlesWidgetWithValue,
interval: 1, interval: 1,
), ),
); );
...@@ -115,7 +115,7 @@ class ChartHeatmap extends CustomChart { ...@@ -115,7 +115,7 @@ class ChartHeatmap extends CustomChart {
); );
} }
Widget getVerticalTitlesWidget(double value, TitleMeta meta) { Widget getVerticalTitlesWidgetWithValue(double value, TitleMeta meta) {
final String dayShortName = getDayShortName(8 - value.toInt()); final String dayShortName = getDayShortName(8 - value.toInt());
return SideTitleWidget( return SideTitleWidget(
......
...@@ -74,4 +74,8 @@ class ChartTimelineCounts extends CustomBarChart { ...@@ -74,4 +74,8 @@ class ChartTimelineCounts extends CustomBarChart {
return data; return data;
} }
Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) {
return getVerticalTitlesSpacerWidget(value, meta);
}
} }
...@@ -72,4 +72,8 @@ class ChartTimelineEclecticism extends CustomLineChart { ...@@ -72,4 +72,8 @@ class ChartTimelineEclecticism extends CustomLineChart {
), ),
]; ];
} }
Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) {
return getVerticalTitlesSpacerWidget(value, meta);
}
} }
...@@ -11,6 +11,7 @@ class ChartTopArtistsStream extends CustomLineChart { ...@@ -11,6 +11,7 @@ class ChartTopArtistsStream extends CustomLineChart {
const ChartTopArtistsStream({super.key, required this.chartData}); const ChartTopArtistsStream({super.key, required this.chartData});
final double verticalTicksInterval = 10; final double verticalTicksInterval = 10;
final String verticalAxisTitleSuffix = '%';
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
......
...@@ -3,7 +3,7 @@ description: Display scrobbles data and charts ...@@ -3,7 +3,7 @@ description: Display scrobbles data and charts
publish_to: 'none' publish_to: 'none'
version: 0.0.50+50 version: 0.0.51+51
environment: environment:
sdk: '^3.0.0' sdk: '^3.0.0'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment