java中alpha怎么打_Java XYPlot.setForegroundAlpha方法代码示例

import org.jfree.chart.plot.XYPlot; //导入方法依赖的package包/类

public void GeneratePlot(String pngfile) throws IOException {

String modelfile = FilenameUtils.getFullPath(pngfile) + "/" + FilenameUtils.getBaseName(pngfile) + "_ModelPoints.txt";

FileWriter writer = new FileWriter(modelfile);

double[] IDObs = new double[IDEmpiricalDist.getN()];

double[] DecoyObs = new double[DecoyEmpiricalDist.getN()];

for (int i = 0; i < IDEmpiricalDist.getN(); i++) {

IDObs[i] = IDEmpiricalDist.getObs(i);

}

for (int i = 0; i < DecoyEmpiricalDist.getN(); i++) {

DecoyObs[i] = DecoyEmpiricalDist.getObs(i);

}

XYSeries model1 = new XYSeries("Incorrect matches");

XYSeries model2 = new XYSeries("Correct matches");

XYSeries model3 = new XYSeries("All target hits");

writer.write("UScore\tModel\tCorrect\tDecoy\n");

for (int i = 0; i < NoBinPoints; i++) {

model1.add(model_kde_x[i], decoy_kde_y[i]);

model2.add(model_kde_x[i], correct_kde_y[i]);

model3.add(model_kde_x[i], model_kde_y[i]);

writer.write(model_kde_x[i] + "\t" + model_kde_y[i] + "\t" + correct_kde_y[i] + "\t" + decoy_kde_y[i] + "\n");

}

writer.close();

MixtureModelProb = new Float[NoBinPoints + 1][3];

float positiveaccu = 0f;

float negativeaccu = 0f;

MixtureModelProb[0][0] = (float) model2.getMaxX() + Float.MIN_VALUE;

MixtureModelProb[0][1] = 1f;

MixtureModelProb[0][2] = 1f;

for (int i = 1; i < NoBinPoints + 1; i++) {

double positiveNumber = correct_kde_y[NoBinPoints - i];

double negativeNumber = decoy_kde_y[NoBinPoints - i];

MixtureModelProb[i][0] = (float) model_kde_x[NoBinPoints - i];

positiveaccu += positiveNumber;

negativeaccu += negativeNumber;

MixtureModelProb[i][2] = 0.999999f * (float) (positiveNumber / (negativeNumber + positiveNumber));

MixtureModelProb[i][1] = 0.999999f * (float) (positiveaccu / (negativeaccu + positiveaccu));

}

XYSeriesCollection dataset = new XYSeriesCollection();

dataset.addSeries(model1);

dataset.addSeries(model2);

dataset.addSeries(model3);

HistogramDataset histogramDataset = new HistogramDataset();

histogramDataset.setType(HistogramType.SCALE_AREA_TO_1);

histogramDataset.addSeries("ID hits", IDObs, 100);

histogramDataset.addSeries("Decoy hits", DecoyObs, 100);

//histogramDataset.addSeries("Model hits", ModelObs, 100);

JFreeChart chart = ChartFactory.createHistogram(FilenameUtils.getBaseName(pngfile), "Score", "Hits", histogramDataset, PlotOrientation.VERTICAL, true, false, false);

XYPlot plot = chart.getXYPlot();

NumberAxis domain = (NumberAxis) plot.getDomainAxis();

domain.setRange(min, max);

plot.setBackgroundPaint(Color.white);

plot.setDomainGridlinePaint(Color.white);

plot.setRangeGridlinePaint(Color.white);

plot.setForegroundAlpha(0.8f);

chart.setBackgroundPaint(Color.white);

XYLineAndShapeRenderer render = new XYLineAndShapeRenderer();

plot.setDataset(1, dataset);

plot.setRenderer(1, render);

plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

try {

ChartUtilities.saveChartAsPNG(new File(pngfile), chart, 1000, 600);

} catch (IOException e) {

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值