# JFreeChart Farbe von Balken



## LukeVlbg (13. Okt 2009)

Ich frage mich gerade ob es möglich ist die Farbe eines einzelnen Balken innerhalb einer Serie zu ändern ist. Für die ganze Serie kann man die Farben ja ändern.
Gibt´s da ne Methode?

Greets


----------



## Kaffeebohn (13. Okt 2009)

Ich kenn mich mit dem Chart zwar nicht besonders gut aus, aber möglicherweiße kannst du über den Renderer mit einem Index auf die einzelnen Teile zugreifen. Ich habe hier ein ähnliches Beispiel gefunden. Vielleicht versuchst du es mal damit:


```
renderer.setSeriesPaint(1, Color.green);
```


----------



## LukeVlbg (13. Okt 2009)

Hi Kaffeebohn,

das ermöglicht leider nur, dass dann die ganze Serie in grün ist. Nicht aber ein einzelner Balken pro Kategorie.

Den einzigen Code den ich gefunden hab ist dieser hier:

```
class CustomRenderer extends BarRenderer {
		
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		// The colors
		private Paint[] colors;
		
		// Creates the new renderer
		public CustomRenderer(final Paint[] colors) {
			this.colors = colors;
		}
		
		// Returns the paint for an item. Overrides the deafault behavior
		public Paint getItemPaint(final int row, final int column) {
			return this.colors[column % this.colors.length];
		}
		
	}

		final CategoryItemRenderer renderer = new CustomRenderer(
				new Paint[] {Color.red, Color.blue, Color.green, // Farben, die verwendet werden
					Color.yellow, Color.orange, Color.cyan,
					Color.magenta}
		);
```

Aber fein wäre wenn man die Farben im nachhinein manuell setzen könnte.


----------



## Kaffeebohn (13. Okt 2009)

Ok schade ich dachte, mit dem Index kann man auf die einzelnen zugreifen.
Wenn mir noch was einfällt melde ich mich.


----------



## SlaterB (13. Okt 2009)

im Plot gibts die Methode setDrawingSupplier()
für Tortengrafiken kann man damit gut die Farben aller Teile angeben,

für normale Graphen brauchte ich das nie,
wenn schon jemand zum Mittel 'CustomRenderer extends BarRenderer' gegriffen hat, dann geht das vielleicht nicht oder nicht gut


----------



## LukeVlbg (13. Okt 2009)

Ja es scheint in diese Richtung wirklich nur den Workaround über die Nested Class zu geben.

Aber eigentlich reicht mir auf die Farbeinstellung Series-bezogen.

Andere Frage: Wenn ich 2 Barseries in einem Chart habe. Und der einen Barseries eine gewisse Thickness mitgebe und der zweiten eine andere, ist es dann immer so, dass nur die erste greift? Scheinbar kann man da keine separaten Werte einstellen.

grüße


----------

