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')