| 12413 | var geo_1 = require("./geo"); |
| 12414 | var ScatterPlotRecommenderSummary = /** @class */ function() { |
| 12415 | function ScatterPlotRecommenderSummary1(columns, data) { |
| 12416 | var rec = { |
| 12417 | chart: "scatterplot", |
| 12418 | score: undefined, |
| 12419 | columns: {}, |
| 12420 | scheme: undefined, |
| 12421 | view: "2d" |
| 12422 | }; |
| 12423 | columns.forEach(function(column) { |
| 12424 | if (!rec.columns.x) { |
| 12425 | if (column.name.toLowerCase() === "x") return rec.columns.x = column.name; |
| 12426 | else if (geo_1.isLongitude(column)) return rec.columns.x = column.name; |
| 12427 | } |
| 12428 | if (!rec.columns.y) { |
| 12429 | if (column.name.toLowerCase() === "y") return rec.columns.y = column.name; |
| 12430 | else if (geo_1.isLatitude(column)) return rec.columns.y = column.name; |
| 12431 | } |
| 12432 | if (!rec.columns.color && !column.stats.isSequential) { |
| 12433 | if (column.quantitative || column.stats.distinctValueCount < recommender_1.maxCategoricalColors) { |
| 12434 | rec.columns.color = rec.columns.sort = column.name; |
| 12435 | rec.scheme = recommender_1.defaultColorScheme(column); |
| 12436 | if (column.quantitative) rec.colorBin = "quantile"; |
| 12437 | return; |
| 12438 | } |
| 12439 | } |
| 12440 | }); |
| 12441 | if (rec.columns.x && rec.columns.y) this.best = rec; |
| 12442 | } |
| 12443 | ScatterPlotRecommenderSummary1.prototype.recommend = function() { |
| 12444 | return this.best; |
| 12445 | }; |