# How can I control the error bar colors to be the same as geom_point colors?

I wanted to make a point plot in ggplot and I used `geom_point` function to do it. To colorize the points, I used levels to fill them either in red or blue. However, now I’m adding the error bars to my point plot with `geom_errorbar` function, it seems I can’t give the colors I used in geom_points. In other words, I can only give them one color, which is by default black. Is there any way I can control the color of the error bars?

Let’s say we have the following data frame:

``````df <- data.frame (Xvalue=c(1.2, 1.3, 2.1, 2.4, 2.7),
Yvalue=c(12, 15, 17, 24, 27),
Kind=c('A', 'B', 'A', 'B', 'B'),
Ymax=c(13, 16, 19, 26, 29),
Ymin=c(11, 14, 15, 22, 25))
df\$Kind = factor(df\$Kind)
``````

Now I want to draw the plot with the error bars:

``````myplot <- ggplot (df, aes(Xvalue, Yvalue, fill=Kind)) +
geom_point( shape=21, size= 4, alpha= 0.7)+
geom_errorbar(aes(ymin=Ymin, ymax=Ymax,  width=0.08))
myplot
``````

This results in a plot with error bars of black. How can I make sure this is the same color as the points?

Bonus question: Is this how you would usually make two colors in your points, I mean by putting the "levels" in the ggplot function as fill? Do you have an alternative way to where one doesn’t need to use Shape=21, where the outer pirameter of the circle is black?

Bonus qeustion 2: Is it generally easier to plot two kinds of points, when they are in 1 dataframe, or is it better to seperate the dataframes? For instance, I can have a smaller dataframe for the Kind A, and another one for dataframe B. Would that make the life easier? Why I’m asking is that, when I tried to plot with more than one levels (for instance once "Kind" and the other one "Original country"), it was quite confusing to plot points in different colors and sizes.

### >Solution :

You should add the `color` `aes` to your `geom_errorbar` like this (Please note: you could add `show.legend` FALSE to your `geom_errorbar` so there is no line in your elements of your legend):

``````library(ggplot2)
myplot <- ggplot (df, aes(Xvalue, Yvalue, fill=Kind)) +
geom_point( shape=21, size= 4, alpha= 0.7)+
geom_errorbar(aes(ymin=Ymin, ymax=Ymax, width=0.08, color = Kind), show.legend = FALSE)
myplot
``````

Created on 2023-01-12 with reprex v2.0.2

If you want the error bar behind your point, just swap the commands in order.