[英]Plotting a set of functions using a 'violin-plot' style plot in python
假设我要可视化函数f[n] = e^{-(xn)^2}/n
对于n=1...10
。 请注意,这些不是概率分布。
(实际上不是我想做的情节,但足够接近)。
我想用小提琴图( https://matplotlib.org/gallery/statistics/violinplot.html )进行演示,其中每个n
都有一条垂直线,并在函数的两侧绘制函数垂线。
但是小提琴图似乎仅用于显示数据样本的位置。 因此,所有用于它的工具都需要我为其提供数据集。 我要绘制的数据不是这种类型的-这是一个实际的已知函数。
[如果您需要更多背景信息,则与我的早期问题有关-https: //stats.stackexchange.com/questions/403359/visualizing-2d-data-when-one-dimension-is-discrete-and-the-其他连续] 。
这个问题有点笼统,所以也许这实际上并不是您想要的。 但是据我了解,您只想在不同位置n
位置f(x,n)
上绘制函数,并在垂直轴上具有x
。
import numpy as np
import matplotlib.pyplot as plt
f = lambda x, n: np.exp(-(x-n)**2)/n
x = np.linspace(-2,12,101)
ns = np.arange(1,11)
for n in ns:
plt.fill_betweenx(x, -f(x,n)+n, f(x,n)+n, color="C0", alpha=0.5)
plt.xlabel("n")
plt.ylabel("x")
plt.xticks(ns)
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.