having a look at seaborns ViolinPlotter class
(https://github.com/mwaskom/seaborn/blob/master/seaborn/categorical.py),
they explicit handle the special case of no data and single unique
datapoint at line 580 ff.
Could something similar be added to matplotlibs violinplot?
On 04.07.2015 12:28, elmar werling wrote:
from an end user point of view, matplotlibs violinplot should just do
the same as seaborns violinplot.
#
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
N = 100
y1 = np.random.randn(N) + 3.0
y2 = np.random.randn(N) * 5.0 + 50
y3 = np.ones(N) * 100 # causing plt.violinplot problem
y4 = np.arange(0) # causing plt.violinplot problem
#plt.violinplot([y1, y2, y3, y4])
sns.violinplot(data=[y1, y2, y3, y4])
On 03.07.2015 17:52, Thomas Caswell wrote:
The KDE computation code is a copy of the KDE code from scipy
(https://github.com/scipy/scipy/blob/master/scipy/stats/kde.py), I
suggest raising this issue on their mailing list/github.
I strongly suspect that violin plot should be doing data sanitation on
the way in or catching exceptions like this, but I am not familiar
enough with the math to be sure what it should do instead.
Tom
On Fri, Jul 3, 2015 at 11:41 AM elmar werling
el...@net4werling.de
mailto:el...@net4werling.de wrote:
Hi all,
violinplot is crashing with singular matrix data. See example.
Is this behaviour for a singular matrix intended or just a bug?
Cheers
Elmar
#
import numpy as np
import matplotlib.pyplot as plt
# data mimicing the
# original cumsum data (may sum up to 100)
N = 100
y1 = np.random.randn(N) + 3.0
y2 = np.random.randn(N) * 5.0 + 50
y3 = np.ones(N) * 100 # data set causing violinplot problem
plt.violinplot([y1, y2, y3])
plt.boxplot([y1, y2, y3]) # ok
plt.ylim(0,110)
#
OS: Debian
Anaconda 2.3.0 (64-bit)
Python 2.7.10
numpy 2.3.0
matplotlib 1.4.3
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
mailto:Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel