JFreeChart TimeSeries 刻度线显示数字而不是日期
温馨提示:
本文最后更新于 2024年04月12日,已超过 37 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
I want the following code to show the x-axis ticks as vertical dates, but its showing as large numbers, thanks!:
import java.text.SimpleDateFormat;
import java.util.List;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import com.thaggle.wealth.db.WealthDAO;
import com.thaggle.wealth.domain.YahooEarnings;
public class EarningsActualVsForecast extends AbstractChart {
private static final long serialVersionUID = 7862225058366503917L;
public EarningsActualVsForecast() throws Exception {
super("Earnings: Actual vs Forecast", "DATE", "EPS");
}
protected XYDataset createDataset() throws Exception {
String symbolOne = "MSFT";
TimeSeries seriesEstimatedOne = new TimeSeries(symbolOne + ": Est.");
TimeSeries seriesReportedOne = new TimeSeries(symbolOne + ": Rep.");
List<YahooEarnings> msftEarnings = WealthDAO.getYahooEarnings(symbolOne);
for(YahooEarnings earnings:msftEarnings) {
System.out.println(symbolOne + "[" + earnings.getDate() + "]: Est = " + earnings.getEpsReported() + ", Act: " + earnings.getEpsReported());
seriesEstimatedOne.add(new Day(new SimpleDateFormat("yyyy-MM-dd").parse(earnings.getDate())), earnings.getEpsEstimate());
seriesReportedOne.add(new Day(new SimpleDateFormat("yyyy-MM-dd").parse(earnings.getDate())), earnings.getEpsReported());
}
String symbolTwo = "AAPL";
TimeSeries seriesEstimatedTwo = new TimeSeries(symbolTwo + ": Est.");
TimeSeries seriesReportedTwo = new TimeSeries(symbolTwo + ": Rep.");
List<YahooEarnings> vymEarnings = WealthDAO.getYahooEarnings(symbolTwo);
for(YahooEarnings earnings:vymEarnings) {
System.out.println(symbolTwo + ": Est = " + earnings.getEpsEstimate() + ", Act: " + earnings.getEpsReported());
seriesEstimatedTwo.add(new Day(new SimpleDateFormat("yyyy-MM-dd").parse(earnings.getDate())), earnings.getEpsEstimate());
seriesReportedTwo.add(new Day(new SimpleDateFormat("yyyy-MM-dd").parse(earnings.getDate())), earnings.getEpsReported());
}
var dataset = new TimeSeriesCollection();
dataset.addSeries(seriesEstimatedOne);
dataset.addSeries(seriesReportedOne);
dataset.addSeries(seriesEstimatedTwo);
dataset.addSeries(seriesReportedTwo);
return dataset;
}
public static void main(String[] args) throws Exception {
EarningsActualVsForecast main = new EarningsActualVsForecast();
}
The dates seem to be showing up as numbers even though I'm adding dates. Using a TimeSeries, but still showing up as large numbers.
正文到此结束
- 本文标签: 家庭宠物
- 本文链接: https://www.coder6.net/article/2436
- 版权声明: 本文由蚂蚁原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权