问题描述
您有什么想法为 x 轴设置背景颜色吗? 自定义 x 轴时出现问题。
我想这样做。
set background color for x-axis
有可能吗?
提前谢谢
[编辑]
public class TargetZoneLineChart extends LineChart{
protected Paint mYAxisSafeZonePaint;
private List<TargetZone> mTargetZones;
@Override
protected void init() {
super.init();
mYAxisSafeZonePaint = new Paint();
mYAxisSafeZonePaint.setStyle(Paint.Style.FILL);
mTargetZones = new ArrayList<>();
}
@Override
protected void onDraw(Canvas canvas) {
for (TargetZone targetZone : mTargetZones) {
// prepare coordinates
float[] pts = new float[4];
pts[1] = targetZone.lowerLimit;
pts[3] = targetZone.upperLimit;
mLeftAxisTransformer.pointValuesToPixel(pts);
// draw
mYAxisSafeZonePaint.setColor(targetZone.color);
canvas.drawRect(mViewPortHandler.contentLeft(),pts[1],mViewPortHandler.contentRight(),pts[3],mYAxisSafeZonePaint);
}
super.onDraw(canvas);
}
public void addTargetZone(TargetZone targetZone){
mTargetZones.add(targetZone);
}
public List<TargetZone> getTargetZones(){
return mTargetZones;
}
public static class TargetZone {
public final int color;
public final float lowerLimit;
public final float upperLimit;
public TargetZone(int color,float lowerLimit,float upperLimit) {
this.color = color;
this.lowerLimit = lowerLimit;
this.upperLimit = upperLimit;
}
}
只有 yAxis ,如果我想成为 xAxis ,我该怎么办?
解决方法
我使用这个库来显示一周中的天数图表。您可以根据您的要求使用和定制。根据您的要求,我完成了相同类型的任务。请参阅下面的方法并使用它。希望可以帮到你。如有问题欢迎留言。
私人乐趣 setDayBarchart(){
val yVals1 = ArrayList<BarEntry>()
yVals1.add(BarEntry(0f,6f))
yVals1.add(BarEntry(1f,1f))
yVals1.add(BarEntry(2f,2f))
yVals1.add(BarEntry(3f,3f))
yVals1.add(BarEntry(4f,5f))
yVals1.add(BarEntry(5f,4f))
yVals1.add(BarEntry(6f,7f))
val set1: BarDataSet
set1 = BarDataSet(yVals1,"")
set1.setColors(ColorTemplate.rgb("439CFF"))
val dataSets = ArrayList<IBarDataSet>()
dataSets.add(set1)
val data = BarData(dataSets)
data.setValueTextSize(7f)
data.barWidth = 0.5f
val formatter = object : ValueFormatter() {
// the labels that should be drawn on the XAxis
val quarter = arrayOf("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
override fun getAxisLabel(value: Float,axis: AxisBase?): String {
return quarter[value.toInt()]
}
}
val xAxis = root.barChart.xAxis
xAxis.granularity=1f // minimum axis-step (interval) is 1
xAxis.valueFormatter=formatter
xAxis.position=XAxis.XAxisPosition.BOTTOM
xAxis.textSize=10f
xAxis.textColor=Color.BLACK
xAxis.setDrawAxisLine(false)
root.barChart.setTouchEnabled(false)
root.barChart.data=data
root.barChart.animateXY(2000,2000)
root.barChart.setFitBars(true)
root.barChart.getDescription().setText(" ")
}
,
您可以使用 MPAndroidChart 中提供的 Combined-Chart(在本例中为条形图和折线图)。
您可以在以下库中找到用途: MPAndroidChart