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

Android:MPAndroidChart如何删除图表右侧的值?

皇甫雨华
2023-03-14

下面的图表显示了一些值。

我想隐藏/删除右侧的值,因为左侧就足够了。

请参见下图:

代码如下:

public class MainActivity extends AppCompatActivity implements
        OnChartValueSelectedListener{
    private LineChart mDataLineChart;
    private RelativeLayout mRelativeLayout;

    private LineChart mChart;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_linechart);

        // Set chart
        setChart();
        // add data
        setData2(3, 155);
        // ANIMATE CHART
        animateChart();
    }


    private void setChart() {
        mChart = (LineChart) findViewById(R.id.chart1);
        mChart.setOnChartValueSelectedListener(this);

        ////////////////////////////////
        // SET DESCRIPTION COLOR
        ////////////////////////////////
        mChart.setDescriptionColor(getResources().getColor(R.color.chart_desc_color));
        ////////////////////////////////
        // BORDERS SURROUNDING THE CHART
        ////////////////////////////////
        mChart.setDrawBorders(true);
        mChart.setBorderColor(getResources().getColor(R.color.chart_border));
        mChart.setBorderWidth(2);
        ////////////////////////////////
        // CHART BG COLOR
        ////////////////////////////////
        mChart.setBackgroundColor(getResources().getColor(R.color.chart_bg));
        ////////////////////////////////
        // GRID BG COLOR
        ////////////////////////////////
        mChart.setDrawGridBackground(true);
        mChart.setGridBackgroundColor(getResources().getColor(R.color.chart_bg));

        ////////////////////////////////
        // OTHER SETTINGS
        ////////////////////////////////
        mChart.setDescription("");
        mChart.setNoDataTextDescription("You need to provide data for the chart.");
        // enable touch gestures
        mChart.setTouchEnabled(true);
        mChart.setDragDecelerationFrictionCoef(0.9f);
        // enable scaling and dragging
        mChart.setDragEnabled(true);
        mChart.setScaleEnabled(true);
        mChart.setHighlightPerDragEnabled(true);
        // if disabled, scaling can be done on x- and y-axis separately
        mChart.setPinchZoom(true);

    }


    private void setData2(int count, float range) {

        ////////////////////////////////
        // X axis values (labels)
        ////////////////////////////////
        ArrayList<String> xVals = new ArrayList<String>();
        for (int i = 0; i < count; i++) {
            xVals.add((i) + " day");
        }

        ////////////////////////////////
        // Y axis values (value in linechart)
        ////////////////////////////////
        ArrayList<Entry> yVals1 = new ArrayList<Entry>();
        for (int i = 0; i < count; i++) {
            float mult = range / 2f;
            float val = (float) (Math.random() * mult) + 50;// + (float)
            // ((mult *
            // 0.1) / 10);
            yVals1.add(new Entry(val, i));
        }

        ////////////////////////////////
        // SETTING FOR LINEAR LINE
        ////////////////////////////////
        LineDataSet set1 = new LineDataSet(yVals1, "Pressure mm/Hg");
        set1.setAxisDependency(AxisDependency.LEFT);
        set1.setLineWidth(2f);
        set1.setCircleSize(5f);
        set1.setColor(getResources().getColor(R.color.chart_line_color));
        set1.setCircleColor(getResources().getColor(R.color.chart_line_color));
        set1.setFillColor(getResources().getColor(R.color.chart_line_color));
        set1.setDrawCircleHole(true);

        ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
        dataSets.add(set1); // add the datasets

        ////////////////////////////////
        // SETTING FOR DATASET (FONT SIZE, )
        ////////////////////////////////
        LineData data = new LineData(xVals, dataSets);
        data.setValueTextColor(Color.BLACK);
        data.setValueTextSize(9f);

        ////////////////////////////////
        // SET WHOLE DATASET TO CHART
        ////////////////////////////////
        mChart.setData(data);
    }

    private void animateChart() {
        ////////////////////////////////
        // ANIMATION DURATION
        ////////////////////////////////
        mChart.animateX(1000);
        ////////////////////////////////
        // SET LEGEND BOTTOM DATA TEXT
        ////////////////////////////////
        XAxis xAxis = mChart.getXAxis();
        xAxis.setTextSize(12f);
        xAxis.setTextColor(Color.BLACK);
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        xAxis.setSpaceBetweenLabels(1);



    }

    @Override
    public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
        Log.i("Entry selected", e.toString());
    }

    @Override
    public void onNothingSelected() {
        Log.i("Nothing selected", "Nothing selected.");
    }

}

我试图在Github上留档搜索:

https://github.com/PhilJay/MPAndroidChart/wiki/The-Axis

但是没有运气。

我怎样才能从右侧删除值?

非常感谢您的建议。

共有2个答案

慕容典
2023-03-14

您可能需要检查示例应用程序和相应的代码。该应用程序包括两个相关示例:折线图和折线图(双轴)。第一个是你想要的,第二个是你有权知道的。

应用程序链接:https://play.google.com/store/apps/details?id=com.xxmassdeveloper.mpchartexample

代码:https://github.com/PhilJay/MPAndroidChart/tree/master/MPChartExample

葛意远
2023-03-14
YAxis yAxisRight = mChart.getAxisRight();
yAxisRight.setEnabled(false); 

将此代码放在setChart()上;

 类似资料:
  • 我想从我的表格中删除大纲边框,即顶部、底部、左侧和右侧边框,现在为黑色1px。我试图在css中进行更改,但它只会删除整个表格的边框。 另外,我想(悬停时)在左侧的单元格中添加一个粗体彩色边框。这有意义吗?如下所示:如果我在表中悬停一行(就像现在一样),它会按预期的方式着色。但我希望最外层的左侧单元格在其左侧也有一个粗体边框。此单元格:<代码> 这是我的html: 这是我的css: 我很感谢你在这件

  • 我有一个使用制作的基于网页。问题是,我有那些额外的空格在divs的左侧和右侧。基本上内容都在中心。我怎么移除这个? 我试着使用margin-top,margin-left,margin-right,bootstrap的pull-left和pull-right,margin和padding设置为0,width:100%等,没有任何效果。 这里有一张图片: 看左边和右边,这是我想要去掉的空白。我不知道

  • 问题内容: 我正在使用Richfaces的选择列表,我想用我的支持bean中的SelectItems列表填充右侧面板。 从后盾到左侧填充不是问题,但是右侧存在问题。 这是我目前所拥有的 编辑: 所以我有角色“ a”,“ b”,“ c”和“ d”。 用户具有角色“ a”和“ d”,因此“ a”和“ d”应在右侧面板上,而“ b”和“ c”应在左侧面板上。 编辑: 进一步解释。 我为用户提供了三个列表

  • 问题内容: 我有一些简单的python代码,可在文件中搜索字符串,例如,其中部分可能会有所不同。当前代码是: 什么是获取文字的简单方法? 问题答案: 从开始,您可以使用:

  • 我的问题是:如何确定已拆分的旋转矩形几何体的和是拆分该几何体的任意的“左”和“右”边? 对于这个问题,"左"和"右"被定义为从节点到节点"行走"时,按顺序的拆分器的左边和右边。 我创建了此函数,用于将任意几何体(非集合)拆分为两个面——“左”和“右”: 上面的想法在此处链接的笔记本中进行了说明(与上面的链接相同): http://nbviewer.jupyter.org/urls/dl.dropb

  • 我有以下图片: 当我试图移除其中一个时,我得到: 我怎样才能移除它们?为什么会有这样的冲突?