# Adding Dimension objects to CSDM object¶

There are three subtypes of Dimension objects,

• LinearDimension

• MonotonicDimension

• LabeledDimension

Using an instance of the Dimension class

Please read the topic Generating Dimension objects for details on how to generate an instance of the Dimension class. Once created, use the dimensions to generate a CSDM object.

```>>> linear_dim = cp.LinearDimension(count=10, increment='0.1 C/V')
>>> new_data = cp.CSDM(dimensions=[linear_dim])
>>> print(new_data)
CSDM(
LinearDimension([0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9] C / V)
)
```

Using Python’s dictionary objects

When using python dictionaries, the key-value pairs of the dictionary must be a valid collection for the given Dimension subtype. For example,

```>>> # dictionary representation of a linear dimension.
>>> d0 = {
...     'type': 'linear',
...     'description': 'This is a linear dimension',
...     'count': 5,
... }
>>> # dictionary representation of a monotonic dimension.
>>> d1 = {
...     'type': 'monotonic',
...     'description': 'This is a monotonic dimension',
...     'coordinates': ['1 m/s', '2 cm/s', '4 mm/s'],
... }
>>> # dictionary representation of a labeled dimension.
>>> d2 = {
...     'type': 'labeled',
...     'description': 'This is a labeled dimension',
...     'labels': ['Cu', 'Ag', 'Au'],
... }
>>> # add the dictionaries to the CSDM object.
>>> new_data = cp.CSDM(dimensions=[d0, d1, d2])
>>> print(new_data)
CSDM(
LinearDimension([0.  0.1 0.2 0.3 0.4] rad),
MonotonicDimension([1.    0.02  0.004] m / s),
LabeledDimension(['Cu' 'Ag' 'Au'])
)
```