MPAndroidChart白色背景

时间:2014-11-19 12:26:19

标签: android background mpandroidchart

我正在使用MPAndroidChart库。我正在使用MPAndroidChart设置包含数据的多线图。它工作得很好,但背景是白色的。这就是我正在做的事情

        nhChart = new LineChart(getActivity());
        nhChart.setDescription("Number of Hits View");
        nhChart = (LineChart) hitsView.findViewById(R.id.line_chart_number_of_hits);

        //int color = Color.parseColor("#80101010");
        nhChart.setBackgroundColor(Color.parseColor("#80101010"));
        //nhChart.setBackgroundResource(R.drawable.background_portrate);
        //nhChart.setBackground(getResources().getDrawable(R.drawable.background_portrate));

        nhChart.setStartAtZero(true);   
        nhChart.setDrawBorder(true);

        nhChart.setNoDataTextDescription("No Data available for Charts");

        nhChart.setDrawYValues(false);
        nhChart.setDrawBorder(true);
        nhChart.setScaleEnabled(true);

        nhChart.setHighlightEnabled(false);
        nhChart.setTouchEnabled(true);
        //nhChart.setGridColor(Color.WHITE & 0x70FFFFFF);
        //nhChart.setDragScaleEnabled(true);    
        nhChart.setPinchZoom(true);

        setData(valueDate.size(),10000);
        nhChart.animateX(2500);

        Legend l = nhChart.getLegend();
        l.setForm(LegendForm.CIRCLE);
        l.setFormSize(6f);
        l.setTextColor(Color.WHITE);

        YLabels y = nhChart.getYLabels();
        y.setTextColor(Color.WHITE);
        y.setLabelCount(6);

        XLabels x1 = nhChart.getXLabels();
        x1.setCenterXLabelText(true);
        x1.setPosition(XLabelPosition.BOTTOM);
        x1.setTextColor(Color.WHITE);

我正在片段viewpager中的AsyncTask的post execute方法中绘制线图。显示图表的其他片段显示相同的白色背景。我尝试为背景设置颜色但没有任何效果。我也把它留空了,但它仍然显示我的白色背景。我还更新了最新的Jar,但它不起作用。请帮忙。 这是图像的外观

3 个答案:

答案 0 :(得分:5)

您希望透明:

chart.setDrawGridBackground(false);

这是透明栏:

chart.setDrawBarShadow(false);

答案 1 :(得分:2)

默认情况下,图表的背景为透明,这意味着它将为图表下方的视图/布局设置任何颜色。

如果您想要更改背景(颜色或可绘制),可以通过以下方式进行更改:

  • in .xml(android:background="...") - >在xml中设置图表的背景颜色或设置图表所在布局的背景颜色。
  • 致电setBackgroundColor(...)setBackgroundResource(...)

我猜你想要你的背景是某种黑色? 如果你打电话会怎么样:

chart.setBackgroundColor(Color.BLACK)

然后设置背景颜色吗?另请检查github repo here中的示例代码。示例应用程序中的某些情况会更改背景颜色。

答案 2 :(得分:0)

你可以这样做:

chart.setBackgroundColor(getResources().getColor(R.color.transparent));

请先定义:

<color name="transparent">#00000000</color>