Giter VIP home page Giter VIP logo

pyramid_chart's Introduction

GitHub Tag release Static Badge GitHub License X (formerly Twitter) Follow

Population Pyramid Chart in Stata

This repository contains the pyramid_chart ado file for creating population pyramid charts in Stata. The pyramid_chart program allows you to create informative population pyramids, a type of graph that shows the distribution of a population by age groups and sex.

Features

  • Generates population pyramids based on numeric and categorical variables.
  • Allows customization of decimal places for percentage labels.
  • Supports additional twoway graph and scatter graph options for further customization.

Installation

To install the pyramid_chart program, download the pyramid_chart.ado and pyramid_chart.sthlp files and place them in your Stata ado directory or your working directory. You can find or set your Stata ado path using the adopath command in Stata.

Options

The pyramid_chart program supports additional options that can be passed to the twoway graph command for further customization. All options for twoway in stata should work, with the exception of legend(), xlabel, ylabel which are produced using existing labels from the variables passed into the syntax.

Example

Here is an example of how to use the pyramid_chart program:

Pre-analysis:

While reshaping is not required before producing a pyramid chart, it is important that the data is in long format before it is fed into the pyramid_chart command. As an illustration, the following code reshapes the system-included pop2000.dta dataset into a long dataset containing the three required variables: population, sex, and agegrp.

sysuse pop2000.dta, clear
keep agegrp maletotal femtotal
rename maletotal population1
rename femtotal population2
reshape long population, i(agegrp) j(sex)
label define sexlbl 1 "Male" 2 "Female"
label values sex sexlbl
label variable population "Population"
label variable sex "Sex"
describe
Variable name Storage type Display format Value label Variable label
agegrp float %12.0gc agelbl Age group
sex byte %10.0g sexlbl Sex
population float %12.0gc - -

Example 1:

A basic pyramid chart with minimum mandatory input, and using system generated default options.

pyramid_chart population, over(agegrp) by(sex) dec(0)

image

Example 2:

Add titles to the graph, add 1 decimal place to the bar labels.

pyramid_chart population, over(agegrp) by(sex) dec(1) title("Population Pyramid for year 2000") subtitle("in percentages") xtitle("Percentage") ytitle("Age groups")

image

Example 3:

Add scatterplot options (for example, for color selection of bar labels).

pyramid_chart population, over(agegrp) by(sex) dec(1) title("Population Pyramid for year 2000") subtitle("in percentages") xtitle("Percentage") ytitle("Age groups") sctopt(mlabcolor(blue)) 

image

Example 4:

Add various schemes to the graph.

pyramid_chart population, over(agegrp) by(sex) dec(1) title("Population Pyramid for year 2000") subtitle("in percentages") xtitle("Percentage") ytitle("Age groups") sctopt(mlabcolor(blue)) scheme(white_tableau)

image

pyramid_chart population, over(agegrp) by(sex) dec(1) title("Population Pyramid for year 2000") xtitle("Percentage") ytitle("Age groups") scheme(economist)

image

Documentation

Detailed documentation for the pyramid_chart program is available in the pyramid_chart.sthlp file. You can access it in Stata using the help command:

    help pyramid_chart

Version updates

  • v1.2: released on July 10th, 2024. Submitted to SSC for update.

    • Bug fixed: color for bars/ bar labels can now be controlled by the user using regular graph / scatter / twoway options.
    • Bug fixed: typos in pyramid_chart.sthlp file fixed.
    • Feature added: now can use scatter plot options sctopt inside the syntax.
  • v1.1: first release on July 07, 2024. Now the package is available from Stata terminal: ssc install pyramid_chart.

Contributing

Contributions are welcome! If you find a bug or have a feature request, please open an issue on GitHub. If you'd like to contribute code, please fork the repository and submit a pull request.

  • July 10, 2024: Fernando Rios-Avila added version check, added dynamic color selection to the left and right bars, and added the ability to use scatter options for coloring the bar labels.

License

This project is licensed under the MIT License. See the LICENSE file for details.

pyramid_chart's People

Contributors

friosavila avatar masud90 avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

friosavila

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.