Charts & Series¶
Below, the documentation will cover some key considerations before creating a Series
and a Chart
.
Ensuring your data is pivoted¶
It is necessary to structure your data properly into Google sheets such that it can be plotted. Google sheets can only plot data that has been pivoted.
A table such as this:
Shape |
Color |
Size |
---|---|---|
Cube |
Red |
1 |
Cube |
Green |
2 |
Ball |
Red |
3 |
Ball |
Green |
4 |
Needs to be manipulated like so:
Shape |
Red |
Green |
---|---|---|
Cube |
1 |
2 |
Ball |
3 |
4 |
This can be done through df.pivot().
Utilizing the series_columns
parameter¶
Each series in a chart can be formatted in a unique way. For this reason, users are able to pass multiple Series
objects into a Chart
object such that they have full control over the display for a given chart. In fact, it is possible to pass different Series
types into the same chart.
If
series_columns
isNone
or[]
, the chart will plot all columns in theFrame
object except thex_column
.If different
Series
types are passed into the same chart, the chart is considered aCOMBO
chart. Only combinations ofArea
,Columns
andLine
series are allowed.If the same
series_column
is set in multipleSeries
objects, the latter most configuration of that column will be used.
This provides great flexibility. A common pattern is to set all columns to a base configuration by passing None
. Then, creating another Series
object to override that configuration for a single column to set an alternative color or style, highlighting that particular series.
Series parameters¶
Various parameters can be set based on the type of series.
Parameter |
Line |
Area |
Column |
Scatter |
Histogram |
---|---|---|---|---|---|
series_columns |
Y |
Y |
Y |
Y |
Y |
line_style |
Y |
Y |
|||
line_width |
Y |
Y |
|||
point_enabled |
Y |
Y |
|||
point_shape |
Y |
Y |
Y |
||
point_size |
Y |
Y |
Y |
||
data_label_enabled |
Y |
Y |
Y |
Y |
|
data_label_placement |
Y |
Y |
Y |
Y |
|
bucket_size |
Y |
||||
outlier_percentage |
Y |
||||
color |
Y |
Y |
Y |
Y |
Y |
To understand the values for each parameter accepted run the following:
from gslides import CHART_PARAMS
for key, val in CHART_PARAMS.items():
print(f"{key}: {val['params']}")
Stacking¶
Stacking can only be enabled at the Chart
level when at least one of the Series
is either of type Area
or Column
.
See the CHART_PARAMS
dictionary for valid stacking types.
Axis formatting¶
To change the formatting on a given axis you may set the x_axis_format
or y_axis_format
parameter when initializing a Chart
object. These columns either accept a basic formatting configuration that can be found here, or a customized configuration that is explained here.
Histogram¶
Histograms are unique in that Google will perform the bucketing of values before plotting. In this way x_axis_column
for Histogram charts can simply be set to a dummy string.