我想为给定的名称绘制相应的x.
我的意思是,对于foo,它必须以直方图的形式绘制[10,20,30]并且所有foo,bar,baz需要在相同的graph中.(我不需要3d :))
import pylab as P
name = ['foo', 'bar', 'baz']
x = [[10,20,30],[40,50,60],[70,80,90]]
P.figure()
P.hist(x, 10, histtype='bar',
color=['crimson', 'burlywood', 'chartreuse'],
label=['Crimson', 'Burlywood', 'Chartreuse'])
P.show()
解决方法:
希望这可以帮助你:
from matplotlib import pyplot as plt
import numpy as np
names = ['foo', 'bar', 'baz']
x = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
colors = ['crimson', 'burlywood', 'chartreuse']
y = zip(*x)
groups = len(x)
members = len(y)
pos = np.arange(groups)
width = 1. / (1 + members)
fig, ax = plt.subplots()
for idx, (serie, color) in enumerate(zip(y, colors)):
ax.bar(pos + idx * width, serie, width, color=color)
ax.set_xticks(pos + width)
ax.set_xticklabels(names)
plt.show()
标签:python,matplotlib,plot,histogram
来源: https://codeday.me/bug/20190529/1176043.html