- Python Data Analysis Cookbook
- Ivan Idris
- 193字
- 2021-07-14 11:05:41
Combining box plots and kernel density plots with violin plots
Violin plots combine box plots and kernel density plots or histograms in one type of plot. Seaborn and matplotlib both offer violin plots. We will use Seaborn in this recipe on z-scores of weather data. The z-scoring is not essential, but without it, the violins will be more spread out.
How to do it...
- Import the required libraries as follows:
import seaborn as sns from dautil import data import matplotlib.pyplot as plt
- Load the weather data and calculate z-scores:
df = data.Weather.load() zscores = (df - df.mean())/df.std()
- Plot a violin plot of the z-scores:
%matplotlib inline plt.figure() plt.title('Weather Violin Plot') sns.violinplot(zscores.resample('M')) plt.ylabel('Z-scores')
Refer to the following plot for the first violin plot:
- Plot a violin plot of rainy and dry (the opposite of rainy) days against wind speed:
plt.figure() plt.title('Rainy Weather vs Wind Speed') categorical = df categorical['RAIN'] = categorical['RAIN'] > 0 ax = sns.violinplot(x="RAIN", y="WIND_SPEED", data=categorical)
Refer to the following plot for the second violin plot:

The source code is available in the violins.ipynb
file in this book's code bundle.
See also
- The Seaborn documentation about violin plots at https://web.stanford.edu/~mwaskom/software/seaborn/generated/seaborn.violinplot.html (retrieved July 2015)
推薦閱讀
- HTML5+CSS3王者歸來
- 零基礎搭建量化投資系統:以Python為工具
- Ceph Cookbook
- Interactive Data Visualization with Python
- Vue.js前端開發基礎與項目實戰
- Twilio Best Practices
- ASP.NET Core 2 and Vue.js
- Mastering Julia
- ANSYS Fluent 二次開發指南
- C#應用程序設計教程
- DB2SQL性能調優秘笈
- VMware vSphere 5.5 Cookbook
- Google Maps JavaScript API Cookbook
- JavaScript Mobile Application Development
- PHP典型模塊與項目實戰大全