python 绘图库Matplotlib,matplotlib.pyplot画图
这篇文章主要介绍了大蟒使用Matplotlib绘制多种常见图形,文章围绕主题展开详细的用Matplotlib绘制内容,需要的小伙伴可以参考一下
目录
柱状图水平绘制柱状图多个柱状图叠加型柱状图散点图气泡图直方图箱线图添加文字描述添加文字描述方法二多个图形描绘支线剧情使用熊猫绘图Matplotlib官网如果想了解更多可查看官网。将数组作为铭牌导入
将matplotlib.pyplot作为血小板计数导入
%matplotlib内联#写了这个就可以不用写plt.show()
PLT。RC params[ font。sans-serif ]=[ sim hei ]#用来正常显示中文标签
PLT。RC params[轴。unicode _ MINUS ]=False #用来正常显示负号
X=np.linspace(0,2*np.pi,100)#均匀的划分数据
Y=np.sin(X)
Y1=np.cos(X)
plt.title(Hello World!)
plt.plot(X,Y)
plt.plot(X,Y1)
X=np.linspace(0,2*np.pi,100)
Y=np.sin(X)
Y1=np.cos(X)
情节子情节(211) #等价于支线剧情(2,1,1) #一个图版画两个图
plt.plot(X,Y)
plt.subplot(212)
plt.plot(X,Y1,color=r )
柱状图
数据=[5,25,50,20]
plt.bar(range(len(data))、data)
水平绘制柱状图
数据=[5,25,50,20]
plt.barh(range(len(data)),data)
多个柱状图
data=[[5,25,50,20],
[4,23,51,17],
[6,22,52,19]]
X=np.arange(4)
plt.bar(X 0.00,data[0],color=b ,width=0.25,label=A )
plt.bar(X 0.25,data[1],color=g ,width=0.25,label=B )
plt.bar(X 0.50,data[2],color=r ,width=0.25,label=C )
# 显示上面设置的标签
plt。图例()
叠加型柱状图
data=[[5,25,50,20],
[4,23,51,17],
[6,22,52,19]]
X=np.arange(4)
plt.bar(X,data[0],color=b ,width=0.25)
plt.bar(X,数据[1],颜色=g ,宽度=0.25,底部=数据[0])
plt.bar(X,data[2],color=r ,width=0.25,bottom=NP。array(data[0])NP。array(data[1]))
plt.show()
散点图
N=50
x=np.random.ra
nd(N)
y = np.random.rand(N)
plt.scatter(x, y)
气泡图
N = 50x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.randn(N) # 颜色可以用数值表示
area = np.pi * (15 * np.random.rand(N))**2 # 调整大小
plt.scatter(x, y, c=colors, alpha=0.5, s = area)
N = 50x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.randint(0,2,size =50)
plt.scatter(x, y, c=colors, alpha=0.5,s = area)
直方图
a = np.random.rand(100)plt.hist(a,bins= 20)
plt.ylim(0,15)
a = np.random.randn(10000)plt.hist(a,bins=50)
plt.title("标准正太分布")
箱线图
x = np.random.randint(20,100,size = (30,3))plt.boxplot(x)
plt.ylim(0,120)
# 在x轴的什么位置填一个 label,我们这里制定在 1,2,3 位置,写上 A,B,C
plt.xticks([1,2,3],[A,B,C])
plt.hlines(y = np.median(x,axis = 0)[0] ,xmin =0,xmax=3)
添加文字描述
# 设置画布颜色为 bluefig, ax = plt.subplots(facecolor=blue)
# y 轴数据
data = [[5,25,50,20],
[4,23,51,17],
[6,22,52,19]]
X = np.arange(4)
plt.bar(X+0.00, data[0], color = darkorange, width = 0.25,label = A)
plt.bar(X+0.25, data[1], color = steelblue, width = 0.25,label="B")
plt.bar(X+0.50, data[2], color = violet, width = 0.25,label = C)
ax.set_title("Figure 2")
plt.legend()
# 添加文字描述 方法一
W = [0.00,0.25,0.50]
for i in range(3):
for a,b in zip(X+W[i],data[i]):
plt.text(a,b,"%.0f"% b,ha="center",va= "bottom")
plt.xlabel("Group")
plt.ylabel("Num")
plt.text(0.0,48,"TEXT")
添加文字描述 方法二
X = np.linspace(0, 2*np.pi,100)# 均匀的划分数据Y = np.sin(X)
Y1 = np.cos(X)
plt.plot(X,Y)
plt.plot(X,Y1)
plt.annotate(Points,
xy=(1, np.sin(1)),
xytext=(2, 0.5), fontsize=16,
arrowprops=dict(arrowstyle="->"))
plt.title("这是一副测试图!")
多个图形描绘 subplots
%pylab inlinepylab.rcParams[figure.figsize] = (10, 6) # 调整图片大小
# np.random.seed(19680801)
n_bins = 10
x = np.random.randn(1000, 3)
fig, axes = plt.subplots(nrows=2, ncols=2)
ax0, ax1, ax2, ax3 = axes.flatten()
colors = [red, tan, lime]
ax0.hist(x, n_bins, normed=1, histtype=bar, color=colors, label=colors)
ax0.legend(prop={size: 10})
ax0.set_title(bars with legend)
ax1.hist(x, n_bins, normed=1, histtype=bar, stacked=True)
ax1.set_title(stacked bar)
ax2.hist(x, n_bins, histtype=step, stacked=True, fill=False)
ax2.set_title(stack step (unfilled))
# Make a multiple-histogram of data-sets with different length.
x_multi = [np.random.randn(n) for n in [10000, 5000, 2000]]
ax3.hist(x_multi, n_bins, histtype=bar)
ax3.set_title(different sample sizes)
使用Pandas 绘图
import pandas as pddf = pd.DataFrame(np.random.rand(50, 2), columns=[a, b])
# 散点图
df.plot.scatter(x=a, y=b)
df = pd.DataFrame(np.random.rand(10,4),columns=[a,b,c,d])# 绘制柱状图
df.plot.bar()
# 堆积的柱状图df.plot.bar(stacked=True)
# 水平的柱状图df.plot.barh(stacked=True)
df = pd.DataFrame({a:np.random.randn(1000)+1,b:np.random.randn(1000),c:np.random.randn(1000) - 1}, columns=[a, b, c])# 直方图
df.plot.hist(bins=20)
# 箱线图df = pd.DataFrame(np.random.rand(10, 5), columns=[A, B, C, D, E])
df.plot.box()
到此这篇关于python使用Matplotlib绘制多种常见图形的文章就介绍到这了,更多相关Matplotlib绘制图图形内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。