首页 > 解决方案 > 颤振上的同步融合图表包

问题描述

我正在使用这个包syncfusion_flutter_charts:^18.4.47来提供图表这是我的代码,我的图表旁边有一个正方形,如图在此处输入图像描述 所示我正在使用这个包syncfusion_flutter_charts:^18.4.47来提供图表这是我的代码和我的图表旁边有一个正方形,如此处的 piccenter 图像描述所示

  body: SizedBox(
    height: 200,
    width: 300,
    child: SfCartesianChart(
        primaryXAxis: CategoryAxis(
          maximumLabelWidth: 80,
        ),
        enableAxisAnimation: true,
        // borderColor: yellow,
        plotAreaBorderColor: yellow,
        plotAreaBackgroundColor: yellow,
        series: <ChartSeries<GeluValue, String>>[
          BarSeries(
            dataSource: <GeluValue>[
              GeluValue("السبت", 180),
              GeluValue("الاحد", 200),
              GeluValue("الاثنين", 160),
              GeluValue("الثلاثاء", 70),
              GeluValue("الاربعاء", 90),
              GeluValue("الخميس", 100),
              GeluValue("الجمعة", 70),
            ],
            xAxisName: "days",
            yAxisName: "values",
            // color: yellow,
            animationDuration: 20,
            xValueMapper: (GeluValue gelu, _) => gelu.day,
            yValueMapper: (GeluValue gelu, _) => gelu.gelu,
          )
        ]),
  ), 

标签: fluttersyncfusion

解决方案


我们想告诉您,由于图表是通过绘制形成的小部件,因此 RTL 不适用于它。您报告的问题可能是由于在您的应用中使用了委托,例如 GlobalWidgetsLocalizations.delegate。由于对于阿拉伯语和其他一些语言环境,默认行为是 RTL(从右到左),我们从右端获取位置,图表从那里开始呈现。要解决此问题,您可以使用以下代码段,

Directionality( 
 textDirection: TextDirection.ltr,  
 child: SfCartesianChart() 
) 

通过使用 Directionality 小部件包装我们的图表小部件并将textDirection设置为 TextDirection.ltr 将允许从左端呈现图表,并希望这能解决您的问题。此外,如果您需要图表的镜像,您可以通过使用相应轴的反对位置和isInversed属性来实现。在这里我们还附上​​了修改后的示例和截图供您参考,请使用它。现在渲染的图表看起来像是从 RTL 渲染的(从右到左)。要了解有关我们图表的更多信息,请参阅以下帮助文档。https://help.syncfusion.com/flutter/cartesian-charts/axis-customization#placing-axes-at-the-opposite-side

示例: https ://www.syncfusion.com/downloads/support/directtrac/320174/ze/I320174-arabic-chart499151652

截图

阿拉伯图表

镜像

阿拉伯语_反对


推荐阅读