我希望我的图表有两个具有不同比例的 YAxis,如图像。如何更改每个轴的比例?
问问题
5860 次
3 回答
5
版本 2.0.0-beta于周末发布CombinedChart
,它允许在一个图表中绘制 Line-、Bar-、Scatter- 和 CandleData。所以该功能终于可用了。
关于我在升级过程中发现的一个注意事项,您不能简单地为每个数据集添加数据集(),您必须生成单独的数据集类型(条形图、线形、散点图等),然后将 SetData() 用于适当的类型,触发渲染。
这是示例代码。
于 2015-02-23T19:34:01.903 回答
4
MPAndroidChart 库的作者在这里明确指出(MPChart - Scatter Chart and LineChart in same plot),此功能尚不可用。所以,我也在寻找更好的方法。
因此,您可以将两种不同的图表类型显示为一种,但仍使用此库,只需将它们重叠即可。
我已经按照以下方式完成了此操作:
1. 编辑活动布局 xml,将 FrameLayout 作为图表容器。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
.......
<FrameLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:id="@+id/root_view">
</FrameLayout>
.......
</LinearLayout>
- 现在,在 Activity 类中,构建图表对象并将它们附加到上一个容器:
// construct the charts, as different objects
// make sure to have valid Data Sets
LineChartItem lineChart = new LineChartItem(lineChartDataset, getApplicationContext());
BarChartItem barChart = new BarChartItem(barChartDataset, getApplicationContext());
// get the charts' container
FrameLayout frameLayout = (FrameLayout) findViewById(R.id.root_view);
// populate the container with the charts' views
frameLayout.addView(lineChart.getView(0, null, getApplicationContext()));
frameLayout.addView(barChart.getView(1, null, getApplicationContext()));
这种做法的
优点/缺点:
优点
缺点
我希望快速发布这个具有此选项的出色库。提前感谢您菲利普·贾霍达!
于 2015-01-18T13:32:05.197 回答
0
就我而言,我会按照mpandroidcharts
我仍然在“ y 轴右”和“ y 轴左” 上得到相同的比例
罪魁祸首是
combinedChart.axisLeft?.axisMinimum = //some calculations
combinedChart.axisLeft?.axisMaximum = //some calculations
combinedChart.axisRight?.axisMinimum = //some calculations
combinedChart.axisRight?.axisMaximum = //some calculations
当您从条形图或折线图中复制完美代码时,基本上会出现复制粘贴错误,在需要的地方设置轴最小值和最大值。
于 2020-04-30T09:41:17.587 回答