Skip to content

Commit

Permalink
line and scatter, group by x axis, x axis sort
Browse files Browse the repository at this point in the history
  • Loading branch information
vieiralucas committed Jan 9, 2025
1 parent a6e71ab commit a0b24e7
Show file tree
Hide file tree
Showing 5 changed files with 383 additions and 55 deletions.
176 changes: 170 additions & 6 deletions apps/api/src/python/visualization-v2.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ async function getPythonRunner(
switch (message.header.msg_type) {
case 'stream':
if ('name' in message.content) {
console.log(message.content.text)
onOutputs([
{
type: 'stdio',
Expand Down Expand Up @@ -139,8 +138,8 @@ describe('.createVisualizationV2', () => {

const code = `import pandas as pd
df = pd.DataFrame({
'integers': [1, 2, 3],
'datetimes': pd.to_datetime(['2021-01-01', '2021-01-02', '2021-01-03']),
'integers': [11, 12, 13, 21, 22, 33],
'datetimes': pd.to_datetime(['2021-01-01', '2021-01-02', '2021-01-03', '2021-02-01', '2021-03-02', '2021-03-03']),
})`

const integersDFColumn: DataFrameColumn = {
Expand Down Expand Up @@ -187,9 +186,175 @@ df = pd.DataFrame({
],
},
result: {
dataset: {
dimensions: ['datetimes', 'integers'],
source: [
{ datetimes: '2021-01-01T00:00:00', integers: 11 },
{ datetimes: '2021-01-02T00:00:00', integers: 12 },
{ datetimes: '2021-01-03T00:00:00', integers: 13 },
{ datetimes: '2021-02-01T00:00:00', integers: 21 },
{ datetimes: '2021-03-02T00:00:00', integers: 22 },
{ datetimes: '2021-03-03T00:00:00', integers: 33 },
],
},
xAxis: [
{
type: 'category',
},
],
yAxis: [
{
type: 'value',
},
],
series: [
{
type: 'bar',
},
],
},
},
{
name: 'integer by integer groupedColumn',
input: {
dataframeName: 'df',
chartType: 'groupedColumn',
xAxis: integersDFColumn,
xAxisName: null,
xAxisSort: 'ascending',
xAxisGroupFunction: null,
yAxes: [
{
series: [
{
axisName: null,
chartType: null,
column: integersDFColumn,
aggregateFunction: null,
colorBy: null,
},
],
},
],
},
result: {
dataset: {
dimensions: ['integers', 'integers'],
source: [
{ integers: 11 },
{ integers: 12 },
{ integers: 13 },
{ integers: 21 },
{ integers: 22 },
{ integers: 33 },
],
},
xAxis: [
{
type: 'category',
},
],
yAxis: [
{
type: 'value',
},
],
series: [
{
type: 'bar',
},
],
},
},
{
name: 'datetime by integer group by month',
input: {
dataframeName: 'df',
chartType: 'groupedColumn',
xAxis: datetimesDFColumn,
xAxisName: null,
xAxisSort: 'ascending',
xAxisGroupFunction: 'month',
yAxes: [
{
series: [
{
axisName: null,
chartType: null,
column: integersDFColumn,
aggregateFunction: null,
colorBy: null,
},
],
},
],
},
result: {
dataset: {
dimensions: ['datetimes', 'integers'],
source: [
{ datetimes: '2021-01-01T00:00:00', integers: 11 },
{ datetimes: '2021-01-01T00:00:00', integers: 12 },
{ datetimes: '2021-01-01T00:00:00', integers: 13 },
{ datetimes: '2021-02-01T00:00:00', integers: 21 },
{ datetimes: '2021-03-01T00:00:00', integers: 22 },
{ datetimes: '2021-03-01T00:00:00', integers: 33 },
],
},
xAxis: [
{
type: 'category',
},
],
yAxis: [
{
type: 'value',
},
],
series: [
{
type: 'bar',
},
],
},
},
{
name: 'datetime desc by integer groupedColumn',
input: {
dataframeName: 'df',
chartType: 'groupedColumn',
xAxis: datetimesDFColumn,
xAxisName: null,
xAxisSort: 'descending',
xAxisGroupFunction: null,
yAxes: [
{
series: [
{
axisName: null,
chartType: null,
column: integersDFColumn,
aggregateFunction: null,
colorBy: null,
},
],
},
],
},
result: {
dataset: {
dimensions: ['datetimes', 'integers'],
source: [
{ datetimes: '2021-03-03T00:00:00', integers: 33 },
{ datetimes: '2021-03-02T00:00:00', integers: 22 },
{ datetimes: '2021-02-01T00:00:00', integers: 21 },
{ datetimes: '2021-01-03T00:00:00', integers: 13 },
{ datetimes: '2021-01-02T00:00:00', integers: 12 },
{ datetimes: '2021-01-01T00:00:00', integers: 11 },
],
},
xAxis: [
{
data: [1, 2, 3],
type: 'category',
},
],
Expand All @@ -200,7 +365,6 @@ df = pd.DataFrame({
],
series: [
{
data: [1, 2, 3],
type: 'bar',
},
],
Expand Down Expand Up @@ -235,7 +399,7 @@ df = pd.DataFrame({

expect(result.success).toBe(true)
if (result.success) {
expect(result.output.result).toEqual(result)
expect(result.data).toEqual(test.result)
}
})
}
Expand Down
Loading

0 comments on commit a0b24e7

Please sign in to comment.