【发布时间】:2015-09-19 13:40:23
【问题描述】:
我正在开发一个显示每日财务数据的应用程序,并选择使用 JFreeChart。我能够学习如何创建烛台图表,但我的问题在于自定义。
你看,我的目标更像是
虽然,到目前为止我所能管理的只是
无论我放大多远,烛台的宽度都不会增加。
我相当肯定,细烛台不知何故与被绑定到某个时间范围有关。我试图纠正这一点,但不确定我在这里做错了什么。
SSCE
public void showStockHistory(OHLCDataset dataset, String stockName) {
JFreeChart candleChart = ChartFactory.createCandlestickChart("History of " + stockName, "Date", "Stock Points", dataset, true);
XYPlot plot = candleChart.getXYPlot();
plot.setDomainPannable(true);
plot.setRangePannable(true);
ValueAxis domain = plot.getDomainAxis();
domain.setAutoRange(true);
NumberAxis range = (NumberAxis)plot.getRangeAxis();
range.setUpperMargin(0.0D);
range.setLowerMargin(0.0D);
range.setAutoRange(true);
range.setAutoRangeIncludesZero(false);
ChartPanel chartPanel = new ChartPanel(candleChart);
chartPanel.setMouseWheelEnabled(true);
chartPanel.setMouseZoomable(true);
getViewport().add(chartPanel);
}
【问题讨论】:
-
可能的duplicate 与使用
SegmentedTimeline相关。 -
@trashgod 我不太确定它是否与此有关。就我而言,无论拖动移动或缩放深度如何,图表都只显示细蜡烛。不知道在这里做什么..所以也许我会尝试使用时间轴来查看是否发生任何变化..
-
拖动只是让它更容易看到,因为宽度起伏不定。你也可以试试
setAutoWidthMethod()。 -
@trashgod 谢谢。虽然它不完全是我所说的完美,但考虑到我正在使用的数据集的大小,将
setAutoWidthMethod()设置为CandlestickRenderer.WIDTHMETHOD_SMALLEST或多或少都很好。 -
听起来不是重复的;我会鼓励你answer your own question。
标签: jfreechart candlestick-chart