Exemplo n.º 1
0
chart_display::chart_display(chart_dd const& dd)
{
	auto _layout = new Wt::WVBoxLayout;
	setLayout(_layout);

	m_model = new Wt::WStandardItemModel();

	auto chart = new Wt::Chart::WCartesianChart{};

	chart->setBackground(Wt::WColor(220, 220, 220));
	chart->setModel(m_model);
	chart->setXSeriesColumn(0);
	chart->setLegendEnabled(true);
	chart->setType(Wt::Chart::ScatterPlot);

	/*
	* Provide ample space for the title, the X and Y axis and the legend.
	*/
	chart->setPlotAreaPadding(40, Wt::Left | Wt::Top | Wt::Bottom);
	chart->setPlotAreaPadding(120, Wt::Right);

	chart->axis(Wt::Chart::Axis::XAxis).setTitle(dd.x_axis_name);

	chart->resize(500, 400);
	chart->setMargin(Wt::WLength::Auto, Wt::Left | Wt::Right);

	_layout->addWidget(chart);

	
	auto num_series = dd.series.size();
	m_model->insertColumns(0, num_series + 1);
	std::vector< Wt::Chart::WDataSeries > chart_series;
	for(size_t i = 0; i < num_series; ++i)
	{
		m_model->setHeaderData(i + 1, dd.series[i].name);
		chart_series.push_back(Wt::Chart::WDataSeries(i + 1, 
			Wt::Chart::LineSeries));
			// TODO: configurable: Wt::Chart::PointSeries));
	}

	chart->setSeries(chart_series);
}
Exemplo n.º 2
0
void WCartesianChart::init()
{
  legendFont_.setFamily(WFont::SansSerif);
  legendFont_.setSize(WFont::FixedSize, WLength(10, WLength::Point));

  setPalette(new WStandardPalette(WStandardPalette::Muted));
  //setPreferredMethod(InlineSvgVml);
	
#ifdef WT_TARGET_JAVA
  for (int i = 0; i < 3; ++i)
    axes_[i] = WAxis();
#endif //WT_TARGET_JAVA

  axes_[XAxis].init(this, XAxis);
  axes_[YAxis].init(this, YAxis);
  axes_[Y2Axis].init(this, Y2Axis);

  setPlotAreaPadding(40, Left | Right);
  setPlotAreaPadding(30, Top | Bottom);
}