グラフのサイズを変更する際に、軸目盛りラベルのフォントサイズもスケーリングされます。たとえば、グラフが小さすぎるとテキストが小さくなりますが、グラフが大きい場合はキャプションが拡大されます。軸目盛ラベルフォントの固定サイズの設定方法は?
たとえば、データセットとフォントサイズのプロパティは同じで、グラフのサイズが異なる2つの類似のグラフを作成すると、描画されるキャプションの有効なサイズが異なります。
この機能を無効にすることは可能ですか?私は、軸の目盛りのラベルの固定フォントサイズを設定したい、または少なくとも大きくなっていません。ここで
は、この問題を提示したコードです:はJFreeChartは、常に利用可能なスペースを埋めるために、所定のグラフ要素を拡張しようとし
import java.awt.Container;
import java.awt.Dimension;
import java.util.Calendar;
import java.util.Date;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.time.Hour;
import org.jfree.data.time.ohlc.OHLCItem;
import org.jfree.data.time.ohlc.OHLCSeries;
import org.jfree.data.time.ohlc.OHLCSeriesCollection;
public class ChartExample extends JFrame {
public ChartExample() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
OHLCSeriesCollection dataset = createDataSet();
// First chart
JFreeChart chart = ChartFactory.createCandlestickChart("", null, null, dataset, true);
chart.getXYPlot().setOrientation(PlotOrientation.VERTICAL);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(800, 500));
// Second chart
JFreeChart chart2 = ChartFactory.createCandlestickChart("", null, null, dataset, true);
chart2.getXYPlot().setOrientation(PlotOrientation.VERTICAL);
ChartPanel chartPanel2 = new ChartPanel(chart2);
chartPanel2.setPreferredSize(new Dimension(40, 100));
Container pane = getContentPane();
pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));
pane.add(chartPanel);
pane.add(chartPanel2);
}
private OHLCSeriesCollection createDataSet() {
OHLCSeries series = new OHLCSeries("series");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
for (int i = 10; i < 25; i++) {
cal.add(Calendar.HOUR_OF_DAY, 1);
series.add(new OHLCItem(new Hour(cal.getTime()), i, 2 * i, 1, i/2));
}
OHLCSeriesCollection dataset = new OHLCSeriesCollection();
dataset.addSeries(series);
return dataset;
}
public static void main(final String[] args) {
SwingUtilities.invokeLater(() -> {
ChartExample demo = new ChartExample();
demo.pack();
demo.setVisible(true);
});
}
}
私は[タグ:スイング]追加しました私は、これは部分的なレイアウトの問題であると考えているように、タグを。 – trashgod