Привет. Я пытаюсь отобразить горизонтальную гистограмму с помощью jchart2d.Проблема в том, что первая полоса касается оси Y.Моя цель - переместить первую вертикальную черту справа от оси Y, но не могу найти, как этого достичь.
Здесь вы можете увидеть проблему:
Это код:
public static void main(String[]args){
// Create a chart:
Chart2D chart = new Chart2D();
// Create an ITrace:
ITrace2D trace = new Trace2DSimple();
// change to vertical bar diagram
TracePainterVerticalBar vb = new TracePainterVerticalBar(chart);
vb.setBarWidth(15);
trace.setTracePainter(vb);
trace.setColor(Color.blue);
// Add the trace to the chart. This has to be done before adding points (deadlock prevention):
chart.addTrace(trace);
chart.getAxisY().setRangePolicy(new RangePolicyFixedViewport(new Range(200, 500)));
chart.getAxisX().setRangePolicy(new RangePolicyFixedViewport(new Range(1, 49)));
//chart.getAxisX().setStartMajorTick(true);
IAxis<IAxisScalePolicy> xAxis = (IAxis<IAxisScalePolicy>)chart.getAxisX();
xAxis.setAxisScalePolicy(new AxisScalePolicyManualTicks());
xAxis.setMajorTickSpacing(1);
xAxis.setMinorTickSpacing(1);
xAxis.setStartMajorTick(true);
// Add all points, as it is static:
for(int i=0;i<StatisticsManager.getInstance().getMostUsedNumers().size();i++){
trace.addPoint((i+1),StatisticsManager.getInstance().getMostUsedNumers().get(i));
}
// Make it visible:
// Create a frame.
JFrame frame = new JFrame("MinimalStaticChart");
// add the chart to the frame:
frame.getContentPane().add(chart);
frame.setSize(400,300);
// Enable the termination button [cross on the upper right edge]:
frame.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
frame.setVisible(true);
}