android - Flutter SfCartesianChart 不显示 X 。Y 轴
问题描述
我正在尝试显示价格和日期SfCartesianChart
。它向我显示空白图表请检查 json 以及。我试图在折线图中显示产品的价格和日期。
List<SalesData> chartData = [];
Container(
height: 250,
width: (MediaQuery.of(context).size.width),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(2),
),
color: Color(0xff232d37)),
child: FutureBuilder(
future: getJsonFromFirebase(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return SfCartesianChart(primaryXAxis:
CategoryAxis(),
// tooltipBehavior: _tooltipBehavior,
series: <LineSeries<SalesData, String>>[
LineSeries<SalesData, String>(
dataSource: chartData,
xValueMapper: (SalesData sales, _) =>
sales.date,
yValueMapper: (SalesData sales, _) =>
sales.price)
]);
} else {
return Center(child:
CircularProgressIndicator());
}
})),
Future<String> getJsonFromFirebase() async {
String url = "https://someurl.price.php";
http.Response response = await http.get(Uri.parse(url));
return response.body;
}
Future loadSalesData() async {
final String jsonString = await getJsonFromFirebase();
final dynamic jsonResponse = json.decode(jsonString);
for (Map<String, dynamic> i in jsonResponse)
chartData.add(SalesData.fromJson(i));
}
class SalesData {
SalesData(this.date, this.price);
final String date;
final int price;
factory SalesData.fromJson(Map<String, dynamic> parsedJson) {
return SalesData(
parsedJson['date'].toString(),
parsedJson['price'],
);
}
}
解决方案
您必须检索 chartData -->if (snapshot.hasData) { loadSalesData()
并解析您的价格double.parse(parsedJson['price'])
推荐阅读
- hibernate - 如何将标准限制为另一个表中的 fk?
- progressive-web-apps - 尽管有 192x192 和 512x512 图像,但 PWA 初始屏幕图像不会在 Android 上显示
- web - 网站域名后的“/home”是什么?
- r - Python 和 R 交互
- ssis - 更改 SSIS 中的系统变量长度
- angular - 导入 Bootstrap 4 variables.scss 会破坏 Angular 6 编译
- json - 如何将所有字段都是默认值的类型反序列化为 None ?
- javascript - 渲染警告:没有纹理绑定到单元 0
- php - 让用户的时区等于nodejs中的时刻猜测
- javascript - 尝试使用 HighCharts 构建具有多层的solidgauge 图表