Я пытался создать, используя nativescript + angular (собственный график пользовательского интерфейса), диаграмму, которая использует два разных набора данных. Один для температуры, другой для давления, каждый со своей осью Y (одна правая и одна левая). Мне удалось сделать это либо с помощью бара для давления и линии для температуры, либо путем наложения двух графиков.
В настоящее время невозможно отобразить два набора данных, используя один и тот же график (линейный в моем случае)? Кроме того, можно ли указать заголовок оси (например: C°, бар, сек)?
Вот мои попытки
Перекрытие:
<GridLayout rows="*">
<StackLayout row="0">
<StackLayout backgroundColor="rgb(66, 66, 66)">
<StackLayout orientation="horizontal" width="96%" height="100%">
<DockLayout height="100%" width="100%">
<RadCartesianChart class="cartesianChart0" backgroundColor="rgb(66, 66, 66)" >
<BarSeries tkCartesianSeries stackMode="Stack" seriesName="Total">
<LinearAxis tkBarVerticalAxis lineHidden="True" horizontalLocation="Right"
labelMargin="10"></LinearAxis>
</BarSeries>
<CategoricalAxis tkCartesianHorizontalAxis ></CategoricalAxis>
<LinearAxis tkCartesianVerticalAxis horizontalLocation="Left" labelMargin="10" ></LinearAxis>
<LineSeries tkCartesianSeries stackMode="Stack" legendTitle="Fahrenheit" showLabels="true"
labelFormat="degrees" seriesName="Fahrenheit" [items]="fahrenheit" categoryProperty="time"
valueProperty="degrees"> </LineSeries>
<LineSeries tkCartesianSeries stackMode="Stack" legendTitle="Celsius" showLabels="true"
seriesName="celsius" [items]="celsius" categoryProperty="time" valueProperty="degrees">
</LineSeries>
</RadCartesianChart>
</DockLayout>
</StackLayout>
</StackLayout>
</StackLayout>
<StackLayout row="0">
<StackLayout orientation="horizontal" width="100%" height="100%">
<DockLayout height="100%" width="100%">
<RadCartesianChart class="cartesianChart0">
<BarSeries tkCartesianSeries stackMode="Stack" seriesName="Total">
<LinearAxis tkBarVerticalAxis lineHidden="True" horizontalLocation="Left" labelMargin="10"></LinearAxis>
</BarSeries>
<CategoricalAxis tkCartesianHorizontalAxis hidden="True"></CategoricalAxis>
<LinearAxis tkCartesianVerticalAxis horizontalLocation="Right" labelMargin="10" ></LinearAxis>
<LineSeries tkCartesianSeries stackMode="Stack" legendTitle="Bars" showLabels="true" seriesName="bars"
[items]="pressure" categoryProperty="time" valueProperty="bars" lineColor= "blue">
</LineSeries>
</RadCartesianChart>
</DockLayout>
</StackLayout>
</StackLayout>
</GridLayout>
Линия и полоса:
<StackLayout backgroundColor="rgb(66, 66, 66)">
<StackLayout orientation="horizontal" width="100%" height="100%">
<DockLayout height="100%" width="100%">
<RadCartesianChart class="cartesianChart0" backgroundColor="rgb(66, 66, 66)" >
<CategoricalAxis tkCartesianHorizontalAxis labelMargin="10"></CategoricalAxis>
<LinearAxis tkCartesianVerticalAxis horizontalLocation="Left" ></LinearAxis>
<RadLegendView tkCartesianLegend position="Top" title="Celsius, fahrenheit, bars vs seconds"
height="150" enableSelection="true"></RadLegendView>
<BarSeries tkCartesianSeries stackMode="Stack" seriesName="Total" [items]="pressure"
categoryProperty="time" valueProperty="bars">
<LinearAxis tkBarVerticalAxis horizontalLocation="Right" ></LinearAxis>
</BarSeries>
<LineSeries tkCartesianSeries stackMode="Stack" legendTitle="Fahrenheit" showLabels="true" labelFormat="degrees" seriesName="Fahrenheit"
[items]="fahrenheit" categoryProperty="time" valueProperty="degrees">
</LineSeries>
<LineSeries tkCartesianSeries stackMode="Stack" legendTitle="Celsius" showLabels="true" seriesName="celsius"
[items]="celsius" categoryProperty="time" valueProperty="degrees">
</LineSeries>
</RadCartesianChart>
</DockLayout>
</StackLayout>
</StackLayout>
Благодарю вас!