# Matplotlib Marker Fill

This explanation will look at how to customize marker style, create a filled marker, and create a plot with different line styles in Matplotlib.

## Create Filled and Unfilled Marker in Matplotlib

The marker represents the points on a graph. It can be a single character string or an integer number.

We can customize marker style and size using these two parameters, the first one is a `marker` and the second one is `markersize`. The marker has several styles to point out on graphs.

Value Description
9 An integer number 9 will mark the data points using the triangles pointing to the right.
+ A string with a `+` character will mark the data points using the `+` sign.
x A string with the lowercase letter x will mark the data points using unfilled crosses.
X A string with an uppercase letter X will mark the data points using filled crosses.
4 An integer number 4 will mark the data points using the triangles pointing to the left.
s A string with the lowercase letter s will mark the data points using squares.
d A string with the lowercase letter d will mark the data points using diamonds.
P A string with an uppercase letter P will mark the data points using filled plus signs.
p A string with the lowercase letter p will mark the data points using polygons.
h A string with the lowercase letter h will mark the data points using hexagons.
H A string with an uppercase letter H will mark the data points using filled hexagons.
o A string with the lowercase letter o will mark the data points using owl shapes.

Let’s see an example that uses line colors, styles, and markers.

We need to import `numpy`, and We also need to import `matplotlib.pyplot`. Next, we create the data arrays, where `X` contains 15 points evenly distributed between negative pi and positive pi, and the `C` contains the cosine values of `X` and `S` contains the sine values of `X`.

``````import numpy as np
import matplotlib.pyplot as plot

X=np.linspace(-np.pi,np.pi,15)
C=np.cos(X)
S=np.sin(X)
``````

Then, let’s create a figure with a `figsize` is 5 inches by 4 inches and a `dpi` is 80. We need to create four axes using the subplot function with 2 rows and 2 columns.

In the first axes, we plot the cosine function. The line color is navy, the `linestyle` is a densely dashed line, the `marker` is a star, and the `markersize` is 8.

``````plot.subplot(2,2,1)
plot.plot(X,C,color="navy",linestyle=(0,(5,1)),marker="*",markersize=8)
``````

In the second axes, we plot the sine function. The line `color` is `"orangered"`, the `marker` is a cross, and the `markersize` is 8.

``````plot.subplot(2,2,2)
plot.plot(X,S,color="orangered",linestyle=(0,(3,1,1,1)),marker="x",markersize=8)
``````

In the third axes, we plot the negative cosine function. The line `color` is `"darkgreen"`, the `linestyle` is a solid line, the `marker` is a circle, and the marker size is 8.

``````plot.subplot(2,2,3)
plot.plot(X,-C,color="darkgreen",linestyle=(0,()),marker="o",markersize=8)
``````

In the fourth axes, we plot the negative sine function. The line `color` is firebrick, and the `linestyle` is a densely dotted line, the marker is a plus sign, and the marker size is 8.

``````plot.subplot(2,2,4)
plot.plot(X,-S,color="firebrick",linestyle=(0,(1,1)),marker="p",markersize=8)
``````

Full Source Code:

``````import numpy as np
import matplotlib.pyplot as plot

X=np.linspace(-np.pi,np.pi,15)
C=np.cos(X)
S=np.sin(X)
fig=plot.figure(figsize=(5,4),dpi=80)

plot.subplot(2,2,1)
plot.title("Unfilled Marker")
plot.plot(X,C,color="navy",linestyle=(0,(5,1)),marker="*",markersize=8)
plot.subplot(2,2,2)
plot.plot(X,S,color="orangered",linestyle=(0,(3,1,1,1)),marker="x",markersize=8)
plot.subplot(2,2,3)
plot.plot(X,-C,color="darkgreen",linestyle=(0,()),marker="o",markersize=8)
plot.subplot(2,2,4)
plot.plot(X,-S,color="firebrick",linestyle=(0,(1,1)),marker="p",markersize=8)
plot.show()
``````

Output:

The following is an example of filling markers with different characters.

Code:

``````import numpy as np
import matplotlib.pyplot as plot

X=np.linspace(-np.pi,np.pi,15)
C=np.cos(X)
S=np.sin(X)
fig=plot.figure(figsize=(5,4),dpi=80)

plot.subplot(2,2,1)
plot.title("Filled Marker")
plot.plot(X,C,color="navy",linestyle=(0,(5,1)),marker="D",markersize=8)
plot.subplot(2,2,2)
plot.plot(X,S,color="orangered",linestyle=(0,(3,1,1,1)),marker="X",markersize=8)
plot.subplot(2,2,3)
plot.plot(X,-C,color="darkgreen",linestyle=(0,()),marker="P",markersize=8)
plot.subplot(2,2,4)
plot.plot(X,-S,color="firebrick",linestyle=(0,(1,1)),marker="H",markersize=8)
plot.show()
``````

Output: