Package: pylexis
PyLexisPyLexisis a tool to easily plot Lexis Diagrams within Python. It is based onmatplotliband inspirated inLexisPlotR.What is a Lexis Diagram?In demography a Lexis diagram (named after economist and social scientist Wilhelm Lexis) is a two dimensional diagram that is used to represent events
(such as births or deaths) that occur to individuals belonging to different cohorts. Calendar time is usually represented on the horizontal axis, while
age is represented on the vertical axis. (https://en.wikipedia.org/wiki/Lexis_diagram)Installationpip install pylexisUsing PyLexisFirst import the package and create aDiagramobject with the following arguments:initial year,final_year,first_age,last_ageimportpylexisdiagram=pylexis.Diagram(1900,1910,0,10)This returns a basic diagram:Then you have a few methods to interact with the graph:Stylingpylexis.Diagram.set_font(size, weight): Set font size and weight.Parameters
  ----------
  size: int with font size in points (default 12, range[1-1000]).
  weight: str with font weight {'light', 'regular', 'book', 'medium', 'bold', 'heavy'}.pylexis.Diagram.set_font_retroactively(size, weight): Idemset_font(). Use this to update the font after plotting and standardize the graph.pylexis.Diagram.set_aspect(aspect): Set aspect ratio of the grid.Parameters
  ----------
  aspect: str or float with aspect ratio of the grid. Use 'square' for square cells, 'auto' for equal sized steps on both axes, or a float for a custom ratio.Graphing Datapylexis.Diagram.titles(x_label, y_label, title): Add title and axis labels.pylexis.Diagram.lexis_fill(target, value, color, alpha): Highlight a certain age, year or cohort in the grid.Parameters
  ----------
  target: {'age', 'year' or 'cohort'}
  value: int with the value of the target selected.
  color: str with the colour to fill. Use 'random' to fill with a random color.
  alpha: float with the transparency of the fill. 0 is transparent, 1 is opaque.pylexis.Diagram.add_births(year, value): Draw number of births in a specific year.pylexis.Diagram.add_deaths(cohort, year, age, value): Draw number of deaths in a specific year for a specific cohort.Parameters
  ----------
  cohort: Year of the cohort.
  year: int with year of deaths.
  age: int with age at the time of deaths. Deaths can be before or after birthdays.
  value: int with the number of deaths.pylexis.Diagram.add_text(year, age, value): Draw a free text in the grid.Parameters
  ----------
  year: int with year of the text point.
  age: int with age of the text point.
  value: string-castable value of the text point.pylexis.Diagram.add_data(cohort, year, age, values): Add a list of data points to the Lexis Diagram.Parameters
  ----------
  cohort: list[int] with year of the cohorts 
  year: list[int] with years of deaths of each data points.
  age: list[int] with age of each data points.
  values: list of string-castable values of each data points.pylexis.Diagram.add_data_unsafe(year, age, values): Idemadd_data()without checking if the data fits in the grid.Parameters
  ----------
  year: list[int] with years of the data points.
  age: list[int] with age of the data points.
  values: list of string-castable values of the data points.Export Datapylexis.Diagram.save(filename): Save the Lexis Diagram as an image file.Parameters
  ----------
  filename: str with the name of the file to save.ExamplesBasic DiagramAdd Data Points and TextsHow to contribute to the project?Please check thehow to contributeinstructions.FAQJust ask me what you need!