我正在使用这个包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,
)
]),
),
答案 0 :(得分:0)
感谢您对我们的 Flutter 图表的关注。我们已经分析了您的场景,我们想告诉您,由于图表是通过绘制形成的小部件,因此RTL不适用于它。您报告的问题可能是由于在您的应用程序中使用了委托,例如 GlobalWidgetsLocalizations.delegate。因为对于阿拉伯语和其他一些语言环境,默认行为是通过 RTL(从右到左),我们从右端获取位置,图表从那里开始呈现。要解决此问题,您可以使用以下代码片段,
Directionality(
textDirection: TextDirection.ltr,
child: SfCartesianChart()
)
通过使用 Directionality 小部件包装我们的图表小部件并将 textDirection 设置为 TextDirection.ltr 将允许从左端呈现图表,并希望这能解决您的问题。此外,如果您需要图表的镜像,您可以通过使用各自轴中的 opposedPosition 和 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
截图
镜像
如果您需要进一步的帮助,请回复我们。