plotnine
plotnine copied to clipboard
position_dodge not working with categorical y and continous x variables
I illustrate the problem with the dots
dataset:
import pandas as pd
from plotnine import *
dots = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/dots.csv')
Now, I plot with categorical x and continuous y variable:
(
ggplot(dots, aes(y='coherence', x='align', color='choice'))
+ geom_point(position = position_dodge(width=0.8))
)
This worked fine. Now, I swap the x- and y-axis:
(
ggplot(dots, aes(x='coherence', y='align', color='choice'))
+ geom_point(position = position_dodge(width=0.8))
)
Now,
position_dodge
did not work anymore.
ggplot2
gives me what I would expect (I execute the following in a Jupyter notebook)
%load_ext rpy2.ipython
%%R -i dots
library(ggplot2)
(
ggplot(dots, aes(x=coherence, y=align, color=choice))
+ geom_point(position = position_dodge(width=0.8))
)
Software versions:
import session_info
session_info.show()
-----
pandas 2.2.2
plotnine 0.13.6
session_info 1.0.0
-----
Click to view modules imported as dependencies
-----
IPython 8.26.0
jupyter_client 8.6.2
jupyter_core 5.7.2
-----
Python 3.12.4 | packaged by conda-forge | (main, Jun 17 2024, 10:23:07) [GCC 12.3.0]
Linux-3.10.0-1062.18.1.el7.x86_64-x86_64-with-glibc2.17
-----
Session information updated at 2024-07-15 16:29