Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从一个子情节改变,小提琴情节停止工作?_Python_Matplotlib_Violin Plot - Fatal编程技术网

Python 从一个子情节改变,小提琴情节停止工作?

Python 从一个子情节改变,小提琴情节停止工作?,python,matplotlib,violin-plot,Python,Matplotlib,Violin Plot,我想在这里绘制一个类似于第一个子图的图: import matplotlib.pyplot as plt import numpy as np fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(9, 4)) # generate some random test data all_data = [np.random.normal(0, std, 100) for std in range(6, 10)] # plot violin pl

我想在这里绘制一个类似于第一个子图的图:

import matplotlib.pyplot as plt
import numpy as np

fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))

# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

# plot violin plot
axes[0].violinplot(all_data,
                   showmeans=False,
                   showmedians=True)
axes[0].set_title('violin plot')
这段代码可以工作,但我只希望第一个子图作为一个单独的绘图,所以我改为plt.figure并删除与轴[1]相关的部分,但我无法让小提琴绘图继续工作!
我还尝试了使用
sns.violinplot
进行单独的绘图,但它会旋转小提琴,并将它们相互叠加。提示?

对于简单的单点绘图,使用matplotlib的
pyplot
接口通常比使用面向对象的接口更容易。一些函数在这些接口之间具有不同的名称,例如,
plt.title()
对应于
ax.set\u title()

导入matplotlib.pyplot作为plt
将numpy作为np导入
#生成一些随机测试数据
所有_数据=[np.随机.正常(0,标准,100)范围内的标准(6,10)]
#情节小提琴情节
plt.violinplot(所有数据,
showmeans=False,
showmedians=True)
情节名称(“小提琴情节”)

对于简单的单点绘图,使用matplotlib的
pyplot
接口通常比使用面向对象的接口更容易。一些函数在这些接口之间具有不同的名称,例如,
plt.title()
对应于
ax.set\u title()

导入matplotlib.pyplot作为plt
将numpy作为np导入
#生成一些随机测试数据
所有_数据=[np.随机.正常(0,标准,100)范围内的标准(6,10)]
#情节小提琴情节
plt.violinplot(所有数据,
showmeans=False,
showmedians=True)
情节名称(“小提琴情节”)

如果使用
fig=plt.figure()
创建地物,则仍然需要使用在该地物中创建子地块。您可以按如下方式执行此操作:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(9, 4))
axes = fig.add_subplot()

# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

# plot violin plot
axes.violinplot(all_data,
                   showmeans=False,
                   showmedians=True)
axes.set_title('violin plot')
这将产生下图:

请注意,
fig,axes=plt.subplot()
只是上面两行的简写,而
ncol
nrows
的默认值是
1
,因此您只需从原始代码中删除这些参数即可:

import matplotlib.pyplot as plt
import numpy as np

fig, axes = plt.subplots(figsize=(9, 4))

# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

# plot violin plot
axes.violinplot(all_data,
                   showmeans=False,
                   showmedians=True)
axes.set_title('violin plot')

如果使用
fig=plt.figure()
创建地物,则仍然需要使用在该地物中创建子地块。您可以按如下方式执行此操作:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(9, 4))
axes = fig.add_subplot()

# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

# plot violin plot
axes.violinplot(all_data,
                   showmeans=False,
                   showmedians=True)
axes.set_title('violin plot')
这将产生下图:

请注意,
fig,axes=plt.subplot()
只是上面两行的简写,而
ncol
nrows
的默认值是
1
,因此您只需从原始代码中删除这些参数即可:

import matplotlib.pyplot as plt
import numpy as np

fig, axes = plt.subplots(figsize=(9, 4))

# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

# plot violin plot
axes.violinplot(all_data,
                   showmeans=False,
                   showmedians=True)
axes.set_title('violin plot')