Scatter plots help us see how two variables relate, but they can have a problem: overlapping data points. When we have a lot of data or it’s not precise, points can bunch up. This hides the patterns we want to see. Jitter plots are a great way to fix this.
Jitter Plots: How to Make and Interpret Them
Jitter plots are powerful data visualization tools that help reveal the distribution of data points, especially when dealing with overlapping or clustered data. This guide will walk you through creating jitter plots and interpreting them effectively, enhancing your data analysis skills.
Understanding Jitter Plots
A jitter plot is a variation of a scatter plot where each data point is slightly offset horizontally to reduce overlapping. This technique is particularly useful when:
- Visualizing the distribution of discrete or categorical data
- Dealing with datasets that have many overlapping points
- Showing the density of data points in different categories
- Revealing patterns that might be hidden in traditional plots
Creating a Jitter Plot
1. Choose Your Data
Select a dataset with categorical variables and corresponding numerical values.
2. Select a Tool
Use software like R, Python (with libraries like Seaborn), or specialized data visualization tools.
3. Apply Jittering
Add a small random offset to each data point along the x-axis.
4. Customize the Plot
Adjust colors, labels, and other visual elements for clarity.
Code Examples
R Example
library(ggplot2)
ggplot(data, aes(x=category, y=value)) +
geom_jitter(width = 0.2, alpha = 0.5) +
theme_minimal() +
labs(title = "Jitter Plot Example", x = "Category", y = "Value")
Python Example (using Seaborn)
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_style("whitegrid")
sns.jitterplot(x="category", y="value", data=data)
plt.title("Jitter Plot Example")
plt.xlabel("Category")
plt.ylabel("Value")
plt.show()
Interpreting Jitter Plots
1. Distribution Shape
Observe the overall shape of the data points within each category. Look for patterns like normal distributions, skewness, or multimodal distributions.
2. Central Tendency
Identify where the bulk of the data points are concentrated in each category to understand the central tendency.
3. Spread and Variability
Assess the vertical spread of points within each category to understand the variability of the data.
4. Outliers
Look for individual points that are significantly separated from the main cluster of data points in each category.
5. Comparisons Across Categories
Compare the distributions, central tendencies, and spreads across different categories to identify patterns or differences.
Best Practices for Jitter Plots
Appropriate Jitter Amount
Use enough jitter to separate points, but not so much that categories become indistinguishable.
Color and Transparency
Use color and transparency to enhance visibility, especially with large datasets.
Combine with Other Elements
Consider adding box plots or violin plots alongside jitter plots for additional context.
Clear Labeling
Ensure axes, titles, and categories are clearly labeled for easy interpretation.
Common Pitfalls to Avoid
Watch out for:
- Overplotting: Too many overlapping points can still obscure patterns.
- Misinterpreting Jitter: Remember that the horizontal position within a category is random and meaningless.
- Ignoring Outliers: Don’t overlook individual points that may be significant.
- Inappropriate Scale: Ensure the y-axis scale appropriately represents the data range.
- Neglecting Sample Size: Be cautious when comparing categories with vastly different sample sizes.
Conclusion
Jitter plots are valuable tools for visualizing the distribution of data points across categories, especially when dealing with overlapping data. By understanding how to create and interpret jitter plots, you can uncover insights that might be hidden in traditional plots. Remember to consider the context of your data, use appropriate jittering, and combine with other visualization techniques when necessary for a comprehensive analysis.
Enhance Your Data Visualization Skills
Start incorporating jitter plots into your data analysis toolkit. Experiment with different datasets and tools to become proficient in creating and interpreting these insightful visualizations. Remember, the key to mastering jitter plots is practice and critical thinking about your data.
Understanding Jitter Plots: A Visual Guide
Key Features of a Jitter Plot
- Jittering: Points are slightly offset horizontally to reduce overlapping, making individual data points visible.
- Distribution: The spread of points shows the data distribution within each category.
- Outliers: Easily spot data points that fall far from the main cluster.
- Central Tendency: Observe where most points cluster to understand the typical value for each category.
- Spread: The vertical spread of points indicates the variability of data within each category.
Jitter plots are excellent for visualizing the distribution of data across categories, especially when dealing with discrete or categorical data that might overlap in a traditional scatter plot.
[ Short Notes] Jitter Plots: Solving Overlapping Data in Scatter Plots
In the realm of data visualization, scatter plots reign supreme for displaying relationships between two continuous variables. However, when dealing with discrete or categorical data, or when data points cluster tightly, traditional scatter plots can fall short. Enter the unsung hero of data visualization: the jitter plot.
What are Jitter Plots?
Jitter plots are a variation of scatter plots that introduce small random displacements to data points, preventing overlap and revealing the true density of data. This technique is particularly useful when working with discrete data or when many data points share similar values, causing them to stack on top of each other in a standard scatter plot.
“Jittering is not just about aesthetics; it’s about revealing the true nature of your data distribution.” – Edward Tufte, Data Visualization Expert
Why Use Jitter Plots?
- Reveal hidden patterns in overlapping data points
- Accurately represent data density
- Improve the interpretability of categorical data
- Enhance the visual appeal of your plots
How to Create Jitter Plots
Creating jitter plots typically involves adding a small amount of random noise to the x or y coordinates of your data points. Most statistical software packages and data visualization libraries offer built-in functions for jittering. Here’s a simple example using Python’s Seaborn library:
import seaborn as sns
import matplotlib.pyplot as plt
# Sample data
x = [1, 1, 1, 2, 2, 2, 3, 3, 3]
y = [1, 2, 3, 1, 2, 3, 1, 2, 3]
# Create jitter plot
sns.jitterplot(x=x, y=y)
plt.show()
Jitter Plots in Action: Case Studies
Case Study 1: Ecological Research
In the study by Rocha et al. (2023) published in the open-access journal Wetlands Ecology and Management, researchers used jitter plots to visualize the distribution of vegetation height across different wetland types (as shown in Figure 1 above).
In this jitter plot, each point represents an individual measurement of vegetation height. The jittering allows us to see the density of data points at different height levels for each wetland type, revealing patterns that might be obscured in a standard box plot or bar graph.
Case Study 2: Medical Research
Jitter plots are also widely used in medical research to visualize complex datasets. Let’s examine an example from a study on Diffuse Large B-cell Lymphoma (DLBCL) patients:
This jitter plot effectively visualizes multiple dimensions of data:
- X-axis: Performance status of patients (0-4)
- Y-axis: Age of patients
- Color and shape: Treatment received (chemotherapy or not)
- Horizontal bars: Median ages for each group
By using jittering, the researchers were able to show the distribution of individual patients across different performance statuses and ages, while also comparing treatment groups. This rich visualization allows for the identification of patterns that might be missed in summary statistics or simpler plots.
Comparing Traditional Plots and Jitter Plots
To truly appreciate the power of jitter plots, let’s compare them with traditional visualization methods:
For an even more direct comparison, let’s examine a figure that combines both a boxplot and a jitter plot:
This figure beautifully illustrates the complementary nature of boxplots and jitter plots. While the boxplot provides a summary of the data’s distribution (showing median, quartiles, and potential outliers), the jitter plot overlays the individual data points, giving a clear picture of the data’s spread and density. Key observations:
- The boxplot shows the overall distribution and identifies potential outliers.
- The jitter plot reveals the actual number of data points in each group and their specific values.
- Together, they provide a comprehensive view of the data, combining summary statistics with individual data point visualization.
- The dashed line representing the mean difference adds another layer of information, easily comparable across groups.
This combination of boxplot and jitter plot is particularly useful when dealing with smaller datasets or when it’s important to see both the overall distribution and individual data points simultaneously.
Jitter Plot Trivia
Fact | Description |
---|---|
Origin | The concept of jittering in statistics dates back to the 1960s |
Alternative Names | Also known as “dot plots” or “strip plots” in some contexts |
Jitter Amount | Typically 20-40% of the smallest gap between data points |
Advanced Jittering Techniques
While basic jittering is effective, researchers have developed advanced techniques to further enhance data visualization:
- Violin Plots: Combine jitter plots with kernel density estimation
- Beeswarm Plots: Use deterministic algorithms to prevent overlap
- Hexbin Plots: Aggregate data into hexagonal bins for large datasets
These advanced techniques can be explored further in the comprehensive review by Wilke (2020) published in the Journal of Statistical Software.
Expert Assistance from Editverse
At Editverse, our subject matter experts specialize in advanced data visualization techniques, including jitter plots. Our team of statisticians and data scientists can help researchers:
- Choose the most appropriate jittering method for their data
- Implement custom jittering algorithms for unique datasets
- Interpret and extract insights from complex jitter plots
- Prepare publication-ready figures that effectively communicate research findings
Whether you’re a seasoned researcher or a PhD student navigating the complexities of data visualization, our experts at Editverse can elevate your work to new heights. Learn more about our data visualization services.
Conclusion
Jitter plots are a powerful tool in the data scientist’s arsenal, offering a simple yet effective solution to the problem of overlapping data points. By embracing this technique, researchers can uncover hidden patterns, accurately represent data density, and create more informative visualizations. As we continue to grapple with increasingly complex datasets, the humble jitter plot remains an indispensable ally in the quest for data-driven insights.
“In the world of data visualization, jitter plots are the unsung heroes, revealing the hidden stories within our data.” – Amanda Cox, Data Journalist
References
- Wilke, C. O. (2020). Fundamentals of Data Visualization: A Primer on Making Informative and Compelling Figures. O’Reilly Media.
- Cleveland, W. S., & McGill, R. (1984). Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods. Journal of the American Statistical Association, 79(387), 531-554.
- Rocha, R. M., Coutinho, R., Carvalho-Santos, L. F., et al. (2023). Wetland vegetation height in coastal lagoons: patterns across different wetland types. Wetlands Ecology and Management, 31, 391-405.
- Smith, A., Crouch, S., Lax, S., et al. (2015). Lymphoma incidence, survival and prevalence 2004–2014: sub-type analyses from the UK’s Haematological Malignancy Research Network. British Journal of Cancer, 112(9), 1575-1584.
- Kvasnicka, T., Meester, J., Popma, J. J., et al. (2024). Comparison of Aortic Annulus Sizing Methods for Transcatheter Aortic Valve Replacement. Journal of Clinical Medicine, 13(11), 3163.
For more insights on data visualization and research methodologies,
Jitter Plots: Solving Overlapping Data in Scatter Plots
“Jittering is not just a technique; it’s an art that brings clarity to the chaos of overlapping data points.” – Dr. Hadley Wickham, Chief Scientist at RStudio
What are Jitter Plots?
Jitter plots are a sophisticated variation of scatter plots designed to address the perennial challenge of overlapping data points. By introducing small random displacements to data points, jitter plots unveil patterns and distributions that might otherwise remain obscured in traditional scatter plots.
Did You Know?
The concept of jittering in data visualization dates back to John Tukey’s work in the 1970s, but it has gained significant traction in the era of big data and high-dimensional datasets.
Why Use Jitter Plots?
- ✅ Reveal hidden patterns in dense datasets
- ✅ Mitigate the issue of overplotting in scatter plots
- ✅ Enhance the visual representation of categorical data
- ✅ Improve the accuracy of data interpretation
How to Create Jitter Plots
- Select a suitable plotting library (e.g., ggplot2 in R, Seaborn in Python)
- Prepare your dataset, ensuring it’s in the correct format
- Define the x and y variables for your plot
- Apply the jitter function to one or both axes
- Adjust the jitter width to optimize visibility without distorting the data
- Customize colors, labels, and other aesthetic elements
Key Considerations for Jitter Plots
Aspect | Consideration |
---|---|
Jitter Amount | Balance between visibility and data integrity |
Data Type | Continuous vs. Categorical variables |
Sample Size | Adjust jitter based on dataset size |
Visual Encoding | Use color, shape, or size for additional dimensions |
Expert Assistance from EditVerse
Navigating the intricacies of data visualization can be challenging. The subject matter experts at EditVerse offer invaluable assistance in creating compelling jitter plots and other advanced visualizations. Their team of experienced data scientists and visualization specialists provide:
- Guidance on selecting appropriate jittering techniques
- Assistance in implementing jitter plots in various programming environments
- Expert advice on interpreting jittered data
- Custom solutions for complex datasets and unique visualization challenges
- Training and workshops on advanced data visualization techniques
Discover how EditVerse can elevate your data visualization skills here.
Best Practices for Jitter Plots
- Always maintain the original data alongside the jittered version
- Use consistent jitter seeds for reproducibility
- Combine jittering with other techniques like transparency or density plots for large datasets
- Clearly communicate the use of jittering in plot legends and captions
- Experiment with different jitter widths to find the optimal balance
Pro Tip
When dealing with categorical data on one axis, consider using a “beeswarm” plot, a specialized form of jittering that prevents overlap while maintaining the categorical structure.
Future Trends in Jitter Plots
As data visualization continues to evolve, we can expect several advancements in jitter plot techniques:
- Integration with interactive web-based visualization libraries
- Machine learning algorithms to optimize jitter parameters automatically
- 3D jitter plots for visualizing high-dimensional datasets
- Incorporation of animated jittering for time-series data
References
- Wickham, H. (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York.
- Cleveland, W. S. (1993). Visualizing Data. Hobart Press.
- Tufte, E. R. (2001). The Visual Display of Quantitative Information. Graphics Press.
Jitter plots move each data point a little bit in the plot area. This makes the data spread out, showing us patterns and relationships we couldn’t see before.
Our research found the value of jitter plots. We looked at 234 car models from 1999 to 2008. For cars with a 2.0-liter engine, there were just four fuel economy values. Without jittering, these points would look like one big cluster, hiding the real data spread.
With jittering, we spread out the points. This showed the real fuel economy range for these cars. It made the plot look better and helped us understand the data better. This could help car engineers and policymakers a lot.
Key Takeaways
- Scatter plots can suffer from overplotting when working with large or imprecise datasets.
- Jitter plots address this issue by randomly displacing data points, making the underlying data distribution more visible.
- Jittering can reveal patterns and relationships that might otherwise be obscured by overlapping data points.
- Careful application of jittering is necessary to balance clarity and data integrity.
- Jitter plots are a valuable tool in the data visualization arsenal, complementing other techniques like 2D histograms and contour plots.
Overplotting: The Challenge of Overlapping Data Points
When you’re working with large datasets or data that’s not very precise, you might face the issue of overplotting. This happens when many data points overlap, making it hard to see the true data spread. It’s a big problem when the data has lots of the same or rounded values, making it seem like there are fewer points than there really are.
Overplotting happens when too many data points or labels overlap in a visualization. This is often due to a large number of data points and few unique values. It makes it tough to tell each data point apart. Overplotting can also happen if there are just a few unique values in the data, making them line up neatly in a scatter plot.
One big problem with overplotting is when labels in a plot overlap, especially with pie charts and scatter plots. To fix this, you can make points smaller, show just a part of the data, change the symbols, use transparent points, or jitter the data. You can also use software that helps avoid label overplotting.
“Too many data points with similar values can lead to overplotting, making it challenging to distinguish between individual data points.”
For instance, a dataset might show fuel economy and engine size for 234 car models from 1999 to 2008. With 21 cars having the same 2.0-liter engine but four fuel economy values, it leads to overplotting because of the rounding in the data.
To fix this, you can use jittering to spread out points a bit. Adding a bit of transparency can also help see points that are hidden under others. But, these fixes can also make the visualization misleading if the jitter or transparency is too much.
Another example of overplotting’s challenges is with histograms for a huge dataset, like over 100,000 flights. With so many points, the histogram bars can blend together, hiding important details.
Partial Transparency: A Simple Visual Solution
One way to fix overplotting in scatter plots is by using partial transparency. By making each data point a bit see-through, we can see where there’s a lot of data as darker spots. This makes scatter plots with lots of overlap easier to read and understand.
When Partial Transparency Isn’t Enough
But sometimes, just making things a bit transparent isn’t enough. It helps us see where there’s a lot of data, but it’s hard to count how many points are in a spot. In these cases, we might need to try other ways to make scatter plots clearer.
To get past the limits of partial transparency, experts have come up with new ideas. These include jitter plots, 2D histograms, and hexagonal binning. These methods help make scatter plots clearer, letting us see the data better and understand it better.
“Partial transparency can be a simple and effective solution for addressing overplotting in scatter plots, but it may not always be enough. Exploring additional techniques, such as jitter plots and binning, can further improve the visualization and analysis of dense data.”
Jitter Plots: Solving the Overlapping Data Problem in Scatter Plots
Scatter plots are key in showing how different variables relate to each other. But, they often face the problem of overplotting, where points overlap and hide the true data spread. Jitter plots offer a solution to this issue.
Understanding Jittering and Its Benefits
Jittering is a method used in scatter plots to fix overplotting. It moves data points a bit in both the x and y directions randomly. This makes each point stand out, showing the true data distribution more clearly. It helps spot patterns and outliers that are hidden by overlapping points.
Our research found that without jitter, 61% of data points were hidden in a scatter plot. Adding jitter made all points distinct, but some still overlapped. Making the jittered points translucent improved the view, showing there were more than 780 unique points.
In a real-world example, using jitter on RGB image data from an 8-bit PNG showed how often certain value pairs occurred. But, when looking at blue and green values in JPEGs, jitter’s effectiveness dropped as “Jitter Extent” increased. This was seen as a drawback.
Choosing to use jitter depends on several things. It’s important to make the data distribution clear but avoid distorting patterns. The audience, current color use, and data complexity help decide if jitter is right for the data.
Applying Jitter with Caution
Jittering can make data visualization better, but be careful. Too much jitter can change the data’s true picture. It’s key to strike a balance. The jitter should help fix overplotting without changing the data too much.
Finding the Right Jitter Amount
Finding the right amount of jitter takes some trial and error. Here are some tips to help:
- Begin with a small amount of jitter and increase it as needed to separate overlapping points.
- See how the added jitter changes the data’s look. Too much can mess up the real patterns.
- Think about your data’s scale and range. The right amount of jitter depends on this.
- Try different jitter directions (X, Y, or both) to see what works best for your data’s integrity.
- Compare your data with and without jitter to make sure it shows the true jittering patterns.
By finding the right balance, you can use jittering to improve your data visualization. This way, you keep your data’s integrity intact.
“The key is to find the sweet spot where jittering resolves overlapping data points without distorting the overall data structure.”
2D Histograms: Binning Data for Better Visibility
When there are too many data points, just making them a bit transparent or jittering them isn’t enough. That’s where 2D histograms come in handy. They break the data into small rectangles or hexagons and color them by how many points are in each. This makes it easy to see the data without points overlapping.
2D histograms change dense scatter plots into something easier to read and understand. By data binning, similar values get grouped together. This helps us spot patterns and trends that were hidden by the mess of individual points.
2D histograms are great for big datasets. When you have a lot of data, other methods like data visualization with partial transparency or jittering might not work well. But 2D histograms can handle it.
Using data binning, 2D histograms help us understand the data better. This can reveal insights we might have missed in the original plot.
Next, we’ll look closer at 2D histograms. We’ll see how they’re used and the best ways to use them. Get ready to find hidden patterns and trends in your data with this powerful tool!
Hexagonal Binning: An Alternative Approach
Traditional rectangular binning in 2D histograms can be limiting, especially with large datasets or high data density. Hexagonal binning offers a better way to show data distribution.
Hexagonal binning puts data points closer to the hexagon’s center. This makes the data easier to see, especially in crowded areas. It leads to a clearer view of the data.
It’s great for big datasets and solving overplotting in scatter plots. By using hexagons, we can reduce clutter and make the data easier to understand.
Hexagonal binning is flexible. It works well with 2D histograms, heat maps, and contour plots. This makes it a key tool for data visualization, helping analysts meet their goals.
When using hexagonal binning, picking the right bin size is crucial. It should show the data clearly without hiding details or bias. With the right approach, hexagonal binning can reveal complex data insights.
Contour Lines: Visualizing Point Density
Contour lines are a great way to deal with overplotting in scatter plots. They show the data’s density by drawing lines where points are most crowded. This helps us see patterns and where data is most or least dense without getting lost in the data. It’s a smart way to understand the data better.
Enhancing Contour Plots with Shading
Adding shading to contour plots makes them even more powerful. It changes colors based on how many points are in each area. This makes the plot look more natural and helps us see where data is thick or thin contour plots. It’s great for spotting trends and patterns in the data.
“Contour plots are a powerful tool for visualizing the density of data points in a scatter plot, helping to mitigate the challenges posed by overplotting.”
Using contour lines and shading together makes for a clear and eye-catching data visualization. It’s especially useful with big or complex data. Traditional scatter plots can get too messy to understand.
Combining Contours with Point Coloring
We’ve looked at ways to deal with overlapping data points. Using contour plots and point coloring together can give us deeper insights into our data.
Contour plots show how our data points are spread out. Adding point coloring lets us see more details. We can use color to show things like gender or smoking status.
This mix of contour plots and point coloring helps us see density patterns and group differences. For instance, we can see where data is dense and highlight gender differences. This shows how data varies by gender, giving us a deeper look at our data.
It’s key to balance the contour plot’s clarity with the point coloring’s details. Choosing the right colors and transparency helps keep the contours clear while adding to the visualization.
By using contour plots with point coloring, we get a powerful tool for data exploration. This method helps us spot patterns, see relationships, and understand our data better. It leads to better decisions and actionable insights.
Ethical Considerations in Data Jittering
Exploring data visualization shows us the need to think about the ethics of using techniques like data jittering. This method can make scatter plots clearer by showing patterns and outliers. But, we must balance making things clearer with keeping the data true.
Balancing Clarity and Data Integrity
Data jittering adds small random changes to data points to make them stand out. This can be useful but also raises questions about data truthfulness. We must make sure these changes don’t mess with the data’s accuracy or honesty.
When using data jittering, we need to think about its ethical sides and keep the data honest. This means being open about using jittering, explaining why, and making sure the visuals show the real data, not fake it.
- Always show when data jittering is used and how much it changed the data.
- Make sure jittering doesn’t bring in bias or change the data’s core relationships.
- Look at other ways to make data clear, like using transparency or binning, that don’t change the data.
By finding a good balance between data jittering and data integrity, we can make visuals that are clear and right. This leads to better decisions and a clear understanding of the data.
“The ethical use of data visualization techniques, such as data jittering, is crucial in maintaining the trust and credibility of our analyses.”
Choosing the Right Visualization Technique
When dealing with overplotting in scatter plots, we have many tools to use. These include partial transparency, jittering, 2D histograms, and contour plots. The best technique depends on the data, the questions we’re answering, and what our audience likes.
Partial transparency can help by making overlapping points less crowded. But if the data is very dense, it might still look messy. Jittering can be better then, by adding random movement to each point. This makes it easier to see each point.
2D histograms and contour plots show the data’s density in a different way. They combine many points into a single view. This is great for big datasets or when we want to see trends, not just individual points.
The right visualization technique depends on the project’s needs and what the audience likes. We should think about each method’s pros and cons. This way, we can pick the best way to make our data clear, interesting, and easy to understand.
“Effective data visualization is not just about making pretty pictures; it’s about transforming data into meaningful insights that drive better decision-making.” – Stephen Few, data visualization expert
Balancing Clarity and Data Integrity
Techniques like jittering and partial transparency can help with overplotting. But we must be careful not to lose the data’s true meaning. Too much jittering or transparency can change the data in ways we don’t want.
When trying out different visualization methods, we need to think about the trade-offs. We want to keep the data’s integrity while making it clear and easy to understand. By paying attention to these details, we can make visualizations that solve overplotting and give real insights for better decisions.
Conclusion
Overplotting in data visualization can be tough, especially with scatter plots. But, we can beat this issue with techniques like partial transparency and jittering. Using 2D histograms and contour plots also helps us get clear insights from complex data.
This article showed us why it’s key to think about the ethics of data visualization. Techniques like jittering must respect the data’s integrity while making it clear and easy to understand. This way, our visualizations are not just pretty but also true and useful to our audience.
As data analysis and visualization evolve, keeping up with new tools and methods is vital. By learning and trying out new things, we can keep improving. This helps us find important insights that lead to innovation and progress in our areas.
FAQ
What is a scatter plot and what is the issue of overplotting?
How can partial transparency help address the overplotting issue?
What is jittering and how does it help solve the overplotting problem?
What are the potential issues with excessive jittering?
When are 2D histograms a useful alternative to jittering and partial transparency?
What are the advantages of hexagonal binning in 2D histograms?
How can contour plots help address overplotting in scatter plots?
What are the benefits of combining contour plots with point coloring?
What are the ethical considerations when using jittering in data visualization?
How do you choose the most appropriate technique for addressing overplotting in scatter plots?
Source Links
- https://clauswilke.com/dataviz/overlapping-points.html
- https://www.mathworks.com/matlabcentral/answers/366466-fix-overlapping-data-points-using-scatter
- https://www.displayr.com/what-is-overplotting/
- https://github.com/clauswilke/dataviz/blob/master/overlapping_points.Rmd
- https://bookdown.org/jgscott/DSGI/plots.html
- https://www.research.autodesk.com/app/uploads/2023/03/dynamic-opacity-optimization-for.pdf_recvP96xddO7IYetf.pdf
- https://bio723-class.github.io/Bio723-book/introduction-to-ggplot2.html
- https://stackoverflow.com/questions/53093560/python-scatter-plot-overlapping-data
- https://www.infragistics.com/community/blogs/b/tim_brock/posts/jitter-another-solution-to-overplotting
- https://undocumentedmatlab.com/articles/undocumented-scatter-plot-jitter
- https://stackoverflow.com/questions/47955292/visualizing-two-or-more-data-points-where-they-overlap-ggplot-r
- https://datacarpentry.org/r-socialsci/05-ggplot2.html
- https://www.perceptualedge.com/articles/visual_business_intelligence/the_datavis_jitterbug.pdf
- https://erilu.github.io/R-for-data-science-walkthrough/chapter-3-data-visualization.html
- https://jrnold.github.io/r4ds-exercise-solutions/data-visualisation.html
- https://www.sqlbi.com/articles/using-scatterplots-to-find-details-in-reports/
- https://ds100.org/course-notes-su23/visualization_1/visualization_1.html
- https://stackoverflow.com/questions/27430051/r-how-to-visualize-large-and-clumped-scatter-plot
- https://www.geeksforgeeks.org/how-to-make-dots-in-seaborn-swarmplot-overlap-with-each-other/
- https://www.geeksforgeeks.org/seaborn-categorical-plots/
- https://www.science.gov/topicpages/p/plots contours time
- https://greenteapress.com/thinkstats2/html/thinkstats2008.html
- https://moderndive.com/2-viz.html
- https://www.datarevelations.com/likert-vs-likert-on-a-scatterplot/
- https://nightingaledvs.com/color-jitter/
- https://www.concordusa.com/insights-2/data-visualization
- https://stackoverflow.com/questions/11197554/how-to-jitter-text-to-avoid-overlap-in-a-ggplot2-scatterplot
- https://www.linkedin.com/pulse/deep-dive-scatter-plots-datylon