【发布时间】:2012-11-16 01:29:18
【问题描述】:
- 如何从 jfreechart 中排除一两天?我输入了没有星期六的日期和没有星期六的图表,但在轴上有所有日期。
- 我已在屏幕上添加了所有项目。如何在屏幕上查看
更新: 我制作了 CandleChart,使用了 JfreeChart 库。 不应中断 12 至 14 天图表。
这是字符串: 一天或几天可能是休息时间。
12.10.2012 19:00 1.2951 1.296 1.2947 1.2956
12.10.2012 20:00 1.2956 1.296 1.295 1.2954
**12.10.2012 21:00 1.2955 1.2959 1.2948 1.2949**
**14.10.2012 22:00 1.2952 1.296 1.2948 1.2953**
14.10.2012 23:00 1.2955 1.2955 1.2942 1.2947
这是代码:
static TimeSeries t1 = new TimeSeries("");
RegularTimePeriod day = new Day();
RegularTimePeriod hour = new Hour();
private static OHLCDataset createPriceDataset(String FILENAME_SD)
{
OHLCSeries s1 = new OHLCSeries(FILENAME_SD);
if (!Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
}
File sdPath = Environment.getExternalStorageDirectory();
sdPath = new File(sdPath.getAbsolutePath() + "/" + DIR_SD);
File sdFile = new File(sdPath, FILENAME_SD);
try {
BufferedReader in = new BufferedReader(new FileReader(sdFile));
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm");
String inputLine;
in.readLine();
while ((inputLine = in.readLine()) != null) {
String[] data = inputLine.split("\\s+");
Date date = df.parse(data[0] + " " + data[1]);
double open = Double.parseDouble( data[2] );
double high = Double.parseDouble( data[3] );
double low = Double.parseDouble( data[4] );
double close = Double.parseDouble( data[5] );
// double volume = Double.parseDouble( st.nextToken() );
//double adjClose = Double.parseDouble( st.nextToken() );
s1.add(new Hour(date), open, high, low, close);
t1.add(new Hour(date), open);
}
in.close();
}
catch (Exception e) {
e.printStackTrace();
}
OHLCSeriesCollection dataset = new OHLCSeriesCollection();
dataset.addSeries(s1);
return dataset;
}
此外,图表缩放取决于文件中的马赫字符串。如何在屏幕上绘制不超过 100 根的蜡烛?
这是来自文件的图表,包含许多字符串:
这是来自文件的图表,字符串很少:
【问题讨论】:
-
您能否添加一个示例或进一步的信息,它必须帮助您使用您提供的信息
-
看起来您正在使用
DefaultHighLowDataset,您需要使用/实现CategoryDataset以避免出现空白,但我认为没有开箱即用的合适实现。 -
这是一个很好看的问题。
-
我不明白如何使用 CategoryDataset。能说详细点吗?
-
好
CategoryDatasetMWE stackoverflow.com/questions/10740020/…
标签: java android jfreechart