Setting Backgroundcolor of Textlabel in XYPlot

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
Thomas Blaser
Posts: 1
Joined: Wed Nov 26, 2014 3:31 pm
antibot: No, of course not.

Setting Backgroundcolor of Textlabel in XYPlot

Post by Thomas Blaser » Thu Nov 27, 2014 8:20 am

Hello

I am using a XYPlot to display sets of data. This works perfectly:

Code: Select all

XYLineAndShapeRenderer avgCornealSignalRenderer = new XYLineAndShapeRenderer(true, false);
XYLineAndShapeRenderer avgRetinalSignalRenderer = new XYLineAndShapeRenderer(true, false);
		
avgCornealSignalRenderer.setSeriesShapesVisible(0, false);
avgCornealSignalRenderer.setSeriesPaint(0, AVG_CORNEAL_SIGNAL_COLOR);
avgCornealSignalRenderer.setSeriesStroke(0, SIGNAL_STROKE);

avgRetinalSignalRenderer.setSeriesShapesVisible(0, false);
avgRetinalSignalRenderer.setSeriesPaint(0, AVG_RETINAL_SIGNAL_COLOR);
avgRetinalSignalRenderer.setSeriesStroke(0, SIGNAL_STROKE);

XYPlot graphPlot = (XYPlot) this.getChart().getPlot();	
graphPlot.setRenderer(AVG_CORNEAL_SIGNAL_INDEX, avgCornealSignalRenderer);
graphPlot.setRenderer(AVG_RETINAL_SIGNAL_INDEX, avgRetinalSignalRenderer);
Now at a certain point in the graph (x,y), I would like to just set a label at that position with a text. This also works. I would like to set the background color of this text, to highlight it. This does not work!
The "setBaseItemLabelPaint" or any other "Paint" I have tried, has no effect what so ever on the background color. Is this a bug ?

Code: Select all

XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);

renderer.setBaseItemLabelGenerator(new LabelGeneratorLT());
renderer.setBaseItemLabelPaint(new Color(255,100,100));
renderer.setBaseItemLabelFont(constraintLabelLT.getFont());
renderer.setBaseItemLabelsVisible(true);
	 		        
renderer.setBasePaint(constraintLabelLT.getBackground());
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT));
	 		      
renderer.setBaseToolTipGenerator(new ToolTipGeneratorLT());		  
renderer.setSeriesItemLabelPaint(3, constraintLabelLT.getBackground());
	 		        		              
graphPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
graphPlot.setSeriesRenderingOrder(SeriesRenderingOrder.FORWARD);
graphPlot.setRenderer(LT_INDEX, renderer);
	 		        
XYSeries data = new XYSeries(LT_INDEX);
data.add(x, y, false);
	 		        
XYSeriesCollection dataSet = new XYSeriesCollection( );
dataSet.addSeries(data);        
graphPlot.setDataset(LT_INDEX, dataSet);
Thank you

best regards

Thomas

Locked