首页 文章

如何在MPAndroidChart中添加x轴作为日期时间标签?

提问于
浏览
3

我在我的项目中实现了温度报告的折线图(MPAndroidChart库) . 在X轴上应绘制日期时间并绘制Y轴温度 .

我刚刚将日期时间添加为X轴标签中的字符串,但它已折叠 . 所以请任何人指导我 .

2 回答

  • 2

    请尝试以下方法 .

    设置X轴

    XAxis xAxis = mChart.getXAxis();
            xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
            xAxis.setValueFormatter(new MyXAxisValueFormatter());
            xAxis.setLabelsToSkip(0);
    

    创建一个新类 MyXAxisValueFormatter implement XAxisValueFormatter

    public class MyXAxisValueFormatter implements XAxisValueFormatter {
    
    @Override
    public String getXValue(String dateInMillisecons, int index, ViewPortHandler viewPortHandler) {
        try{
            SimpleDateFormat sdf = new SimpleDateFormat("dd MMM");
    
            return sdf.format(new Date(Long.parseLong(dateInMillisecons)));
        }
       catch (Exception e)
       {
           return  dateInMillisecons;
       }
    
    }
    

    希望这可以帮助

  • 0

    如果它还在......

    class DateAxisValueFormatter implements IAxisValueFormatter {
      private String[] mValues;
    
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd.hh");
    
      public DateAxisValueFormatter(String[] values) {
          this.mValues = values; }
    
    
       @Override
       public String getFormattedValue(float value, AxisBase axis) {
            // "value" represents the position of the label on the axis (x or y)
            return mValues[(int) value];
          }
        }
    
    • 你必须在Create put String[] values (public DateAxisValueFormatter(String[] values) ) ,其中每个值都是DateString . 数据系列X的条目(新条目(forX,forY))必须是 flat array = 0,1,2,3,4

    • 对不起,我的英语很差,我来自俄罗斯 . 1988年起,水电厂实时控制系统开发公司主任(www.asu-epro.ru) . Borodatov Michael miclosoft@mail.ru

相关问题