一、效果图
双模式效果:柱形图加折线图,双y轴,从右向左滑动…
二、实现代码
1. 加入依赖
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
2. 布局中加入组合图标签
<com.github.mikephil.charting.charts.CombinedChart
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="320dp"
android:background="@color/content_dark_bg"/>
3. 创建制表类CombinedChartManager
构方定义参数context、组合图控件对象,定义几个全局对象leftAxis、rightAxis、xAxis。
public class CombinedChartManager {
private Context mContext;
private CombinedChart mCombinedChart;
private YAxis leftAxis,rightAxis;
private XAxis xAxis;
private int barColor,lineColor,circleColor,circleInColor,textColor,lineTextColor,barTextColor;
private int[] klineTypes = {
Constant.KlineType.ONE_HOUR,Constant.KlineType.SIX_HOUR,Constant.KlineType.ONE_DAY,Constant.KlineType.ONE_WEEK};
@SuppressLint("ResourceType")
public CombinedChartManager(Context context,CombinedChart combinedChart) {
this.mContext=context;
this.mCombinedChart = combinedChart;
leftAxis = mCombinedChart.getAxisLeft();
rightAxis = mCombinedChart.getAxisRight();
xAxis = mCombinedChart.getXAxis();
//颜色设置,可忽略
lineColor=mContext.getResources().getColor(R.color.line_color);
circleColor=mContext.getResources().getColor(R.color.circle_yellow_color);
circleInColor=mContext.getResources().getColor(R.color.circle_yellow_in_color);
textColor=mContext.getResources().getColor(R.color.table_x_text_color);
lineTextColor=mContext.getResources().getColor(R.color.table_line_text_color);
barTextColor=mContext.getResources().getColor(R.color.table_bar_text_color);
}
4. 初始化图表
设置图标描述、背景色、边界、
是否允许缩放、是否拖动减速、是否可滑动、
图例说明、X轴、Y轴
private void initChart() {
//不显示图标描述
mCombinedChart.getDescription().setEnabled(false