Creates the time series scatter plot example.
194 WContainerWidget(parent)
196 new WText(WString::tr(
"scatter plot"),
this);
198 WAbstractItemModel *model = readCsvFile(
199 WApplication::appRoot() +
"timeseries.csv",
this);
207 for (
int i = 0; i < model->rowCount(); ++i) {
208 WString s = asString(model->data(i, 0));
209 WDate d = WDate::fromString(s,
"dd/MM/yy");
210 model->setData(i, 0, d);
214 WContainerWidget *w =
new WContainerWidget(
this);
215 WTableView *table =
new WTableView(w);
217 table->setMargin(10, Top | Bottom);
218 table->setMargin(WLength::Auto, Left | Right);
220 table->setModel(model);
221 table->setSortingEnabled(
false);
222 table->setColumnResizeEnabled(
true);
223 table->setSelectionMode(NoSelection);
224 table->setAlternatingRowColors(
true);
225 table->setColumnAlignment(0, AlignCenter);
226 table->setHeaderAlignment(0, AlignCenter);
227 table->setRowHeight(22);
231 if (WApplication::instance()->environment().ajax()) {
232 table->resize(800, 20 + 5*22);
233 table->setEditTriggers(WAbstractItemView::SingleClicked);
235 table->resize(800, 20 + 5*22 + 25);
236 table->setEditTriggers(WAbstractItemView::NoEditTrigger);
239 WItemDelegate *delegate =
new WItemDelegate(
this);
240 delegate->setTextFormat(
"%.1f");
241 table->setItemDelegate(delegate);
242 table->setItemDelegateForColumn(0,
new WItemDelegate(
this));
244 table->setColumnWidth(0, 80);
245 for (
int i = 1; i < model->columnCount(); ++i)
246 table->setColumnWidth(i, 90);
251 WCartesianChart *chart =
new WCartesianChart(
this);
254 chart->setModel(model);
255 chart->setXSeriesColumn(0);
256 chart->setLegendEnabled(
true);
257 chart->setZoomEnabled(
true);
258 chart->setPanEnabled(
true);
260 chart->setType(ScatterPlot);
261 chart->axis(XAxis).setScale(DateScale);
264 chart->setAutoLayoutEnabled();
266 chart->setBackground(WColor(200,200,200));
270 for (
int i = 1; i < 3; ++i) {
271 WDataSeries *s =
new WDataSeries(i, LineSeries);
272 s->setShadow(WShadow(3, 3, WColor(0, 0, 0, 127), 3));
276 chart->resize(800, 400);
278 chart->setMargin(10, Top | Bottom);
279 chart->setMargin(WLength::Auto, Left | Right);
A class that allows configuration of a cartesian chart.