微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – androidPlot黑色边框

当我执行下面的代码添加mySimpleXYPlot.getGraphWidget().getBorderPaint().setColor(Color.WHITE);

当我在我的设备上启动它时,应用程序崩溃了.

我想要完成的是摆脱整个图形周围的黑色边框.它位于图表的顶部,左侧和底部两侧约2厘米厚.有什么方法可以摆脱这个黑色的边界?

public class MainActivity extends Activity {

private XYPlot mySimpleXYPlot;

@Override
public void onCreate(Bundle savedInstanceState)
{

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

 // Create a couple arrays of y-values to plot:
    Number[] days =   { 1,2,3,4,5,6,7 };
    Number[] values = { 380,1433,1965,3200,3651,3215,3217 };

    // initialize our XYPlot reference:
    mySimpleXYPlot = (XYPlot) findViewById(R.id.mySimpleXYPlot);
    mySimpleXYPlot.getBackgroundPaint().setColor(Color.WHITE);
    mySimpleXYPlot.setBorderStyle(XYPlot.BorderStyle.NONE,null,null);
    mySimpleXYPlot.getGraphWidget().getBackgroundPaint().setColor(Color.WHITE);
    mySimpleXYPlot.getGraphWidget().getGridBackgroundPaint().setColor(Color.WHITE);



    // Domain
    mySimpleXYPlot.getGraphWidget().setDomainLabelPaint(null);
    mySimpleXYPlot.getGraphWidget().setDomainoriginLinePaint(null);
    mySimpleXYPlot.setDomainStep(XYStepMode.INCREMENT_BY_VAL,days.length);     
    mySimpleXYPlot.setDomainValueFormat(new DecimalFormat("0"));


    //Range
    mySimpleXYPlot.getGraphWidget().setRangeOriginLinePaint(null);
    mySimpleXYPlot.setRangeStep(XYStepMode.SUBDIVIDE,values.length);
    mySimpleXYPlot.setRangeValueFormat(new DecimalFormat("0"));


    //Remove legend
    mySimpleXYPlot.getLayoutManager().remove(mySimpleXYPlot.getLegendWidget());
    mySimpleXYPlot.getLayoutManager().remove(mySimpleXYPlot.getDomainLabelWidget());
    mySimpleXYPlot.getLayoutManager().remove(mySimpleXYPlot.getRangeLabelWidget());
    mySimpleXYPlot.getLayoutManager().remove(mySimpleXYPlot.getTitleWidget());

    // Turn the above arrays into XYSeries':
    XYSeries series1 = new SimpleXYSeries(
            Arrays.asList(days),Arrays.asList(values),"Series1");                             // Set the display title of the series

    // Create a formatter to use for drawing a series using LineAndPointRenderer:
    LineAndPointFormatter series1Format = new LineAndPointFormatter(
            Color.rgb(0,200,0),// line color
            Color.rgb(0,100,// point color
            Color.CYAN);                            // fill color 

 // setup our line fill paint to be a slightly transparent gradient:
    Paint lineFill = new Paint();
    lineFill.setAlpha(200);
    lineFill.setShader(new LinearGradient(0,250,Color.WHITE,Color.GREEN,Shader.TileMode.MIRROR));

    series1Format.setFillPaint(lineFill);

    // add a new series' to the xyplot:
    mySimpleXYPlot.addSeries(series1,series1Format);

    // by default,Androidplot displays developer guides to aid in laying out your plot.
    // To get rid of them call disableAllMarkup():
    mySimpleXYPlot.disableAllMarkup();
}

}

解决方法

如果要删除图表背后的所有颜色,则需要以下三种方法.每个都摆脱不同的部分.
//This gets rid of the gray grid
mySimpleXYPlot.getGraphWidget().getGridBackgroundPaint().setColor(Color.TRANSPARENT);

//This gets rid of the black border (up to the graph) there is no black border around the labels
mysimpleXYPlot.getBackgroundPaint().setColor(Color.TRANSPARENT);

//This gets rid of the black behind the graph
mySimpleXYPlot.getGraphWidget().getBackgroundPaint().setColor(Color.TRANSPARENT);

//With a new release of Androidplot you have to also set the border paint
plot.getBorderPaint().setColor(Color.TRANSPARENT);

希望这可以帮助.

原文地址:https://www.jb51.cc/android/127999.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐