1

I have come up with my final hysteresis plot, which looks like this:

enter image description here

My earlier post: Plotting a hysteresis loop with jFreeChart

I have used 4 XYSeries for my first hysteresis loop and another four for the second hysteresis loop.

If i turn on the legend

 JFreeChart chart = ChartFactory.createXYLineChart(
"Hysteresis Plot", // chart title
"Pounds(lb)", // domain axis label
"Movement(inch)", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips
false // urls
);

it appears like this :

enter image description here

I just want to show that blue is my first hysteresis loop and red is my second hysteresis loop, which I have added as subtitle in the first pic as workaround. Can someone guide how I can add manual legends which indicate blue as first loop and red as second.

Thanks

Community
  • 1
  • 1
Gaurav K
  • 2,864
  • 9
  • 39
  • 68

1 Answers1

1

Because ChartFactory.createXYLineChart() creates an XYPlot, you could try setFixedLegendItems(), mentioned here and here.

A more ambitious scheme is to suppress the native legend and render the legend items in a separate component, as shown here.

Community
  • 1
  • 1
trashgod
  • 203,806
  • 29
  • 246
  • 1,045