diff --git a/android/gradle.properties b/android/gradle.properties
index 777ac2de0980e935649cf32bd85097eaf789185a..cd2d833ca96b3d1ada4a39df51dc5f5ee67665b7 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
 org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
-app.versionName=0.0.16
-app.versionCode=16
+app.versionName=0.0.17
+app.versionCode=17
diff --git a/fastlane/metadata/android/en-US/changelogs/17.txt b/fastlane/metadata/android/en-US/changelogs/17.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9af6c6572ed39cb47a96a0cbb85ff38e30a25c3b
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/17.txt
@@ -0,0 +1 @@
+Stack global counts and eclecticism charts.
diff --git a/fastlane/metadata/android/fr-FR/changelogs/17.txt b/fastlane/metadata/android/fr-FR/changelogs/17.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a3cdc481a58bb0c2c7ade0994175198f29a953e8
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/17.txt
@@ -0,0 +1 @@
+Superposition des graphiques d'écoutes global et d'éclectisme.
diff --git a/lib/ui/widgets/charts/custom_bar_chart.dart b/lib/ui/widgets/charts/custom_bar_chart.dart
index 606b7bd09b87fe56920aa5c49ba949075c94a2f9..2d0e8514648418feb5f7fb9660f67d9069a55c3a 100644
--- a/lib/ui/widgets/charts/custom_bar_chart.dart
+++ b/lib/ui/widgets/charts/custom_bar_chart.dart
@@ -37,7 +37,7 @@ class CustomBarChart extends StatelessWidget {
   }
 
   double getBarWidth(double containerWidth, int barsCount) {
-    return 0.7 * (containerWidth / barsCount);
+    return 0.65 * (containerWidth / barsCount);
   }
 
   List<BarChartGroupData> getDataCounts(double barWidth) {
@@ -118,11 +118,21 @@ class CustomBarChart extends StatelessWidget {
     final AxisTitles verticalTitles = AxisTitles(
       sideTitles: SideTitles(
         showTitles: true,
-        reservedSize: 30,
+        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,
@@ -136,13 +146,14 @@ class CustomBarChart extends StatelessWidget {
       bottomTitles: horizontalTitles,
       leftTitles: verticalTitles,
       topTitles: none,
-      rightTitles: verticalTitles,
+      rightTitles: verticalSpacer,
     );
   }
 
   Widget getVerticalTitlesWidget(double value, TitleMeta meta) {
     String suffix =
         this.verticalAxisTitleSuffix != '' ? ' ' + this.verticalAxisTitleSuffix : '';
+
     return SideTitleWidget(
       axisSide: meta.axisSide,
       space: 4,
@@ -156,6 +167,14 @@ class CustomBarChart extends StatelessWidget {
     );
   }
 
+  Widget getVerticalTitlesSpacerWidget(double value, TitleMeta meta) {
+    return SideTitleWidget(
+      axisSide: meta.axisSide,
+      space: 4,
+      child: Text(''),
+    );
+  }
+
   Widget getHorizontalTitlesWidget(double value, TitleMeta meta) {
     final DateFormat formatter = DateFormat('dd/MM');
 
@@ -165,13 +184,16 @@ class CustomBarChart extends StatelessWidget {
     return SideTitleWidget(
       axisSide: meta.axisSide,
       space: 4,
-      child: RotationTransition(
-        turns: new AlwaysStoppedAnimation(-30 / 360),
-        child: Text(
-          text,
-          style: TextStyle(
-            color: AppColors.mainTextColor1,
-            fontSize: this.titleFontSize,
+      child: Padding(
+        padding: EdgeInsets.only(right: 10),
+        child: RotationTransition(
+          turns: new AlwaysStoppedAnimation(-30 / 360),
+          child: Text(
+            text,
+            style: TextStyle(
+              color: AppColors.mainTextColor1,
+              fontSize: this.titleFontSize,
+            ),
           ),
         ),
       ),
diff --git a/lib/ui/widgets/charts/custom_line_chart.dart b/lib/ui/widgets/charts/custom_line_chart.dart
index 472ba539f36d65edbedd35e53a9ab5de70a6c9c9..53034a9a281d46fc8fa8509e597fde7ffa92a995 100644
--- a/lib/ui/widgets/charts/custom_line_chart.dart
+++ b/lib/ui/widgets/charts/custom_line_chart.dart
@@ -1,9 +1,7 @@
-import 'package:easy_localization/easy_localization.dart';
 import 'package:fl_chart/fl_chart.dart';
 import 'package:flutter/material.dart';
 
 import '../../../config/app_colors.dart';
-import '../../../utils/color_extensions.dart';
 
 class CustomLineChart extends StatelessWidget {
   CustomLineChart({super.key});
@@ -20,34 +18,54 @@ class CustomLineChart extends StatelessWidget {
     );
   }
 
-  LinearGradient getGradient(Color baseColor) {
-    return LinearGradient(
-      begin: Alignment.topCenter,
-      end: Alignment.bottomCenter,
-      colors: <Color>[
-        baseColor.lighten(30),
-        baseColor,
-        baseColor.darken(30),
-      ],
-      tileMode: TileMode.mirror,
-    );
-  }
-
   FlBorderData getBorderData() {
     return FlBorderData(
-      show: true,
-      border: Border.all(
-        color: AppColors.borderColor,
-        width: 2,
-      ),
+      show: false,
     );
   }
 
   FlGridData getGridData() {
     return const FlGridData(
+      show: false,
+    );
+  }
+
+  FlTitlesData getTitlesData() {
+    const AxisTitles none = const AxisTitles(
+      sideTitles: SideTitles(showTitles: false),
+    );
+
+    final AxisTitles verticalTitles = AxisTitles(
+      sideTitles: SideTitles(
+        showTitles: true,
+        reservedSize: 35,
+        getTitlesWidget: getVerticalTitlesWidget,
+        interval: 25,
+      ),
+    );
+
+    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(
       show: true,
-      drawHorizontalLine: true,
-      drawVerticalLine: false,
+      bottomTitles: horizontalTitles,
+      leftTitles: verticalSpacer,
+      topTitles: none,
+      rightTitles: verticalTitles,
     );
   }
 
@@ -56,7 +74,7 @@ class CustomLineChart extends StatelessWidget {
       axisSide: meta.axisSide,
       space: 4,
       child: Text(
-        value.toInt().toString(),
+        value.toInt().toString() + ' %',
         style: TextStyle(
           color: AppColors.mainTextColor1,
           fontSize: this.titleFontSize,
@@ -65,28 +83,18 @@ class CustomLineChart extends StatelessWidget {
     );
   }
 
-  Widget getHorizontalTitlesWidget(double value, TitleMeta meta) {
-    final DateFormat formatter = DateFormat('dd/MM');
-
-    final DateTime date = DateTime.fromMillisecondsSinceEpoch(value.toInt());
-    final String text = formatter.format(date);
-
+  Widget getVerticalTitlesSpacerWidget(double value, TitleMeta meta) {
     return SideTitleWidget(
       axisSide: meta.axisSide,
       space: 4,
-      child: RotationTransition(
-        turns: new AlwaysStoppedAnimation(-30 / 360),
-        child: Text(
-          text,
-          style: TextStyle(
-            color: AppColors.mainTextColor1,
-            fontSize: this.titleFontSize,
-          ),
-        ),
-      ),
+      child: Text(''),
     );
   }
 
+  Widget getHorizontalTitlesWidget(double value, TitleMeta meta) {
+    return Text('');
+  }
+
   LineTouchData getLineTouchDataEclecticism() {
     return LineTouchData(
       handleBuiltInTouches: true,
diff --git a/lib/ui/widgets/main_screen/timeline_chart_counts.dart b/lib/ui/widgets/main_screen/timeline_chart_counts.dart
index 4024e7a38182804cdb7d8f69afde2b2f6d469124..02534a9d5f761c4a3212e57ac369bdddc4259250 100644
--- a/lib/ui/widgets/main_screen/timeline_chart_counts.dart
+++ b/lib/ui/widgets/main_screen/timeline_chart_counts.dart
@@ -10,7 +10,7 @@ class ChartTimelineCounts extends CustomBarChart {
 
   ChartTimelineCounts({super.key, required this.chartData});
 
-  final double chartHeight = 150.0;
+  final double chartHeight = 120.0;
   final double verticalTicksInterval = 50;
 
   @override
diff --git a/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart b/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart
index c78e8fac576f816b27df7585553d96ebce134963..9db1699a2448e02dd0bd8a2afa0caa6d210089ab 100644
--- a/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart
+++ b/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart
@@ -13,16 +13,19 @@ class ChartTimelineEclecticism extends CustomLineChart {
 
   @override
   Widget build(BuildContext context) {
+    final horizontalScale = getHorizontalScale();
+
     return Container(
       height: this.chartHeight,
       child: LineChart(
         LineChartData(
           lineBarsData: getDataEclecticism(),
-          backgroundColor: Theme.of(context).colorScheme.onSurface,
           borderData: getBorderData(),
           gridData: getGridData(),
           titlesData: getTitlesData(),
           lineTouchData: getLineTouchDataEclecticism(),
+          minX: horizontalScale['min'],
+          maxX: horizontalScale['max'],
           maxY: 100,
           minY: 0,
         ),
@@ -31,6 +34,33 @@ class ChartTimelineEclecticism extends CustomLineChart {
     );
   }
 
+  Map<String, double> getHorizontalScale() {
+    // Left/right margins: 12h, in milliseconds
+    int margin = 12 * 60 * 60 * 1000;
+
+    double minDateAsDouble = double.maxFinite;
+    double maxDateAsDouble = -double.maxFinite;
+
+    this.chartData.data.keys.forEach((element) {
+      TimelineDataValue? value = this.chartData.data[element];
+      if (value != null) {
+        final double date = DateTime.parse(element).millisecondsSinceEpoch.toDouble();
+
+        if (date < minDateAsDouble) {
+          minDateAsDouble = date;
+        }
+        if (date > maxDateAsDouble) {
+          maxDateAsDouble = date;
+        }
+      }
+    });
+
+    return {
+      'min': minDateAsDouble - margin,
+      'max': maxDateAsDouble + margin,
+    };
+  }
+
   List<LineChartBarData> getDataEclecticism() {
     List<FlSpot> spots = [];
 
@@ -45,53 +75,17 @@ class ChartTimelineEclecticism extends CustomLineChart {
     });
 
     final baseColor = AppColors.contentColorCyan;
-    final gradient = getGradient(baseColor);
     final borderColor = baseColor.darken(20);
 
     return [
       LineChartBarData(
         isCurved: true,
         color: borderColor,
-        barWidth: 3,
+        barWidth: 2,
         isStrokeCapRound: false,
         dotData: const FlDotData(show: false),
-        belowBarData: BarAreaData(
-          show: true,
-          color: baseColor,
-          gradient: gradient,
-        ),
         spots: spots,
       ),
     ];
   }
-
-  FlTitlesData getTitlesData() {
-    const AxisTitles none = const AxisTitles(
-      sideTitles: SideTitles(showTitles: false),
-    );
-
-    final AxisTitles verticalTitles = AxisTitles(
-      sideTitles: SideTitles(
-        showTitles: true,
-        reservedSize: 30,
-        getTitlesWidget: getVerticalTitlesWidget,
-        interval: 25,
-      ),
-    );
-    final AxisTitles horizontalTitles = AxisTitles(
-      sideTitles: SideTitles(
-        showTitles: true,
-        reservedSize: 20,
-        getTitlesWidget: getHorizontalTitlesWidget,
-      ),
-    );
-
-    return FlTitlesData(
-      show: true,
-      bottomTitles: horizontalTitles,
-      leftTitles: verticalTitles,
-      topTitles: none,
-      rightTitles: verticalTitles,
-    );
-  }
 }
diff --git a/lib/ui/widgets/main_screen/timeline_content.dart b/lib/ui/widgets/main_screen/timeline_content.dart
index f460cdf31dc349d7b9292a0fb7a0895e40f3c40c..1533ee1740202592639c273ef2c6a667b2219091 100644
--- a/lib/ui/widgets/main_screen/timeline_content.dart
+++ b/lib/ui/widgets/main_screen/timeline_content.dart
@@ -35,14 +35,11 @@ class ChartTimelineCardContent extends StatelessWidget {
         const SizedBox(height: 8),
         this.isLoading
             ? Text(placeholder)
-            : Column(
-                mainAxisAlignment: MainAxisAlignment.center,
-                crossAxisAlignment: CrossAxisAlignment.center,
+            : Stack(
                 children: [
                   ChartTimelineCounts(
                     chartData: TimelineData.fromJson(jsonDecode(this.chartData.toString())),
                   ),
-                  const SizedBox(height: 8),
                   ChartTimelineEclecticism(
                     chartData: TimelineData.fromJson(jsonDecode(this.chartData.toString())),
                   ),
diff --git a/pubspec.yaml b/pubspec.yaml
index 9a70a6477a52b11f65feca6bd7e840f1f11f6aac..a0a42d30fec4548672b162a6f929c67c6ba4d6d0 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: Display scrobbles data and charts
 
 publish_to: 'none'
 
-version: 0.0.16+16
+version: 0.0.17+17
 
 environment:
   sdk: '^3.0.0'