自定义房价均价走势折线图
- 项目中Y轴上没有具体刻度显示,所以这里固定了最高点和最低点的高度
- 中间数据根据差值计算均等分
- 中间部分每一份高度对应的值 = (最大价格 - 最小价格)/(最低点高度 - 最高点高度)
- 中间具体价格对应的实际高度 = 最低点高度 - (实际价格 - 最小价格) / 每一份高度对应的值
- 布局文件中添加
<com.samluys.linechartdemo.LineChartView
android:id="@+id/line_chart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:lc_main_color="#D61939"
app:lc_out_circle_color="#F7D1D7"
app:lc_yaxis_num="8"/>
- java代码中
public class MainActivity extends AppCompatActivity {
private LineChartView line_chart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
line_chart = findViewById(R.id.line_chart);
// x轴上的数据
List<String> xAixs = new ArrayList<>();
xAixs.add("17-10");
xAixs.add("17-11");
xAixs.add("17-12");
xAixs.add("18-01");
xAixs.add("18-02");
xAixs.add("18-03");
xAixs.add("18-04");
xAixs.add("18-05");
// y轴上的数据
List<String> yAixs = new ArrayList<>();
yAixs.add("12000");
yAixs.add("12300");
yAixs.add("13040");
yAixs.add("14090");
yAixs.add("14400");
yAixs.add("14800");
yAixs.add("14900");
yAixs.add("13800");
line_chart.setData(xAixs,yAixs);
}
}