当前位置: 首页 > 知识库问答 >
问题:

MPAndroidChart折线图小尺寸

巫研
2023-03-14

这是我的家庭activity代码,当我运行它,它只是一个小尺寸的方框图,所有的内容都压缩在一个ver小图表。请帮助我如何使我的图表更大

    package com.example.frendzy.iassist;

    import android.graphics.Color;
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.support.v7.widget.Toolbar;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.RelativeLayout;

    import com.github.mikephil.charting.charts.LineChart;
    import com.github.mikephil.charting.components.Legend;
    import com.github.mikephil.charting.components.XAxis;
    import com.github.mikephil.charting.components.YAxis;
    import com.github.mikephil.charting.data.LineData;

public class homeActivity extends ActionBarActivity {

private RelativeLayout myLayout;
private LineChart mChart;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);


    myLayout = (RelativeLayout) findViewById(R.id.myLayout);

    //create line chart
    mChart = new LineChart(this);
    //add to mylayout
    myLayout.addView(mChart);

    //customize line chart
    mChart.setDescription("");
    mChart.setNoDataTextDescription("No data for the moment");

    //enable value highlighting
    mChart.setHighlightEnabled(true);

    //enable touch gestures
    mChart.setTouchEnabled(true);

    //we want also enable scaling and dragging
    mChart.setDragEnabled(true);
    mChart.setScaleEnabled(true);
    mChart.setDrawGridBackground(false);

    //enable pinch zoom to avoid scaling x and y axis separately
    mChart.setPinchZoom(true);

    //alternative background color
    mChart.setBackgroundColor(Color.LTGRAY);

    //now we work on data
    LineData data=new LineData();
    data.setValueTextColor(Color.WHITE);

    //add data to line chart
    mChart.setData(data);

    //get legend object
    Legend l = mChart.getLegend();

    //customize legend
    l.setForm(Legend.LegendForm.LINE);
    l.setTextColor(Color.WHITE);

    XAxis x1 = mChart.getXAxis();
    x1.setTextColor(Color.WHITE);
    x1.setDrawGridLines(false);
    x1.setAvoidFirstLastClipping(true);

    YAxis y1 = mChart.getAxisLeft();
    y1.setTextColor(Color.WHITE);
    y1.setAxisMaxValue(120f);
    y1.setDrawGridLines(true);

    YAxis y12 = mChart.getAxisRight();
    y12.setEnabled(false);
} 

共有2个答案

松飞翮
2023-03-14

您可以尝试许多方法

>

  • 在添加linearChart之前,请检查是否可以设置ViewGroup.LayoutParams。在那里你可以设置linearChart的宽度和高度,方法应该调用setLayoutParams必须或者Android中的所有视图都有它。

    在设置完linearChart之后添加它,我的意思是放入这行代码:>mChart=new LineChart(this);Y12.SetEnabled(false)之后。

    对不起,如果您看到我在猜测,但我现在没有适当的笔记本电脑来测试您的代码:(

  • 裴育
    2023-03-14

    我也有同样的问题。尝试以编程方式将LineChart的LayoutParams设置为match_parent,但不起作用。在我的例子中,我从布局xml中删除了LineChart视图,并用以下代码替换它:

    LineChart chart = new LineChart(context);
    setContentView(chart);
    

    在您的情况下,应删除:

    myLayout = (RelativeLayout) findViewById(R.id.myLayout);
    
    //add to mylayout
    myLayout.addView(mChart);
    

    编辑:如果你正在使用碎片,你将收到一个错误,而按下后退。

    片段的临时修复:

    @Override
    public void onStop() {
        super.onStop();
        getActivity().setContentView(R.layout.activity_main);
    }
    
     类似资料:
    • 我试图显示几个折线图,但滚动对应该显示图表的页面不起作用。我使用一个位于协调器布局内部的viewpager。 我也想做到以下几点: 退出曲线的线 退出图例中的颜色标签 我知道协调器布局和Viewpager有时需要一些棘手的变通方法,但直到这一刻我都找不到解决方案。我需要添加更多的图表... 主要XML: null 和图表片段XML: null

    • 我正在尝试用MPAndroidChart构建一个LineChart,来表示我从分贝仪得到的值。问题是,我只得到一个表示当前值的移动点,但我希望有一条线,在移动时,显示值。脑电图之类的东西要清楚。 这是onCreate()方法中与图表相关的所有代码: 以下是我用来更新图表中数据的方法: 因为我需要动态更新数据,所以从线程调用updateChart(float x,float y)。这是我运行应用程序

    • 我想在Android中用mpandroidchart在LineChart中看到一些数据。但这些数据有临界点。我怎样才能解决这个问题,并且在图表中也能看到截止点呢?

    • 我需要在我的Android应用中画一张“闭图”,像这样: 数据的xIndex先增加后减少。如本例所示: 当我尝试用MPAndroidChart中的数据绘制一条线时,它只呈现数据的前半部分(在xIndex下降之前)。其他数据未显示。 我怎样才能用MPAndroidChart正确地绘制这个数据呢?

    • 假设我有多行,其中一行我想隐藏。如何做到这一点?将删除完整的行,但我只想隐藏该行。在这个图表API中有可能吗?

    • 如何侦听MPAndroidChart中的滚动完成事件。 我重写了和,但似乎不起作用。方法即使在滚动结束后也会获得回调。 当用户触摸图表时调用,当用户停止触摸图表时调用。 因此,我需要捕捉当滚动完成时调用的事件。 那么,你能给出一个headsup关于如何在mpAndroidChart中监听linechart的滚动结束。