Commit 602fc98d authored by Paul Asmuth's avatar Paul Asmuth
Browse files

seriesjoin...

parent 3d24b521
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -216,14 +216,11 @@ void BarChart3D<TX, TY, TZ>::renderHorizontalBars(
  auto x_domain = x_domain_.getAs<Domain<TX>>();
  auto y_domain = y_domain_.getAs<Domain<TY>>();

  printf("BARS: %i\n", data_.size());
  printf("BARS: %i\n", data_.getData().size());
  for (const auto& bar : data_.getData()) {
    auto x = x_domain->scaleRange(bar.x.value());

    assert(bar.ys.size() == data_.seriesCount());

  /*
    for (int n = 0; n < num_series_; n++) {
    for (int n = 0; n < data_.seriesCount(); n++) {
      auto y_min = y_domain->scale(bar.ys[n].first.value());
      auto y_max = y_domain->scale(static_cast<TY>(bar.ys[n].second.value()));

@@ -245,7 +242,7 @@ void BarChart3D<TX, TY, TZ>::renderHorizontalBars(
        double bar_padding = 0.3;
        dy += dh * bar_padding * 0.5;
        dh *= (1.0 - bar_padding);
        dh /= num_series_;
        dh /= data_.seriesCount();

        for (int i = 0; i < n; ++i) {
          dy += dh;
@@ -254,8 +251,6 @@ void BarChart3D<TX, TY, TZ>::renderHorizontalBars(

      target->drawRect(dx, dy, dw, dh, "#000000", "bar");
    }
*/



    /* stacked */
+15 −5
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ public:

  SeriesJoin3D() : num_series_(0) {}

  // FIXPAUL this should not be O(n^2)
  void addSeries(Series3D<TX, TY, TZ>* series) {
    for (const auto& point : series->getData()) {
      const auto& x_val = std::get<0>(point);
@@ -43,15 +44,23 @@ public:
      if (joined == nullptr) {
        data_.emplace_back(x_val);
        joined = &data_.back();
        printf("newcat:\n");
      }

      if (joined->ys.size() < num_series_ + 1) {
      for (int i = joined->ys.size(); i < num_series_; ++i) {
        joined->ys.emplace_back(nullptr, nullptr);
      }

      printf("pointisze: %i\n", joined->ys.size());
      if (joined->ys.size() < num_series_ + 1) {

        joined->ys.emplace_back(y_val, z_val);
        printf("pointisze: %i\n", joined->ys.size());
      }
    }

    for (auto& joined : data_) {
      for (int i = joined.ys.size(); i <= num_series_; ++i) {
        joined.ys.emplace_back(nullptr, nullptr);
      }
    }

@@ -67,7 +76,7 @@ public:
  }

  const size_t seriesCount() const {
    return data_.size();
    return num_series_;
  }

protected:
@@ -75,6 +84,7 @@ protected:
  int num_series_;
};


}
}
#endif