文章目录
多子图
- add_axes():添加区域
- Matplotlib定义一个axes类,该类的对象称为axes对象(即轴域对象),它指定一个有数值范围限制的绘图区域。再给定一个画布中,可以包含多个axes对象,但是同一个axes对象只能在一个画布中使用。
fig=plt.figure(figsize=(4,2),facecolor='g')
ax1=fig.add_axes([0,0,1,1])
ax2=fig.add_axes([0.2,0.2,0.5,0.5])
ax3=fig.add_axes([0.0,0.5,0.5,0.5])
ax3.plot([1,2,3,4,6],[2,3,5,8,9])
ax1.plot([1,2,3,4,6],[2,3,5,8,9])
ax2.plot([1,2,3,4,6],[2,3,5,8,9])

fig=plt.figure()
ax1=fig.add_axes([0,0,1,1])
plt.plot([1,2,3,4,6],[2,3,5,8,9])
ax2=fig.add_axes([0.2,0.2,0.5,0.5])
plt.plot([1,2,3,4,6],[2,3,5,8,9])
- subplot():均等地划分画布,只是创建一个包含子图区域的画布(返回区域对象)
- subplots():既创建一个包含子图区域的画布,又创建了一个figure的图形对象(返回图形对象和区域对象)
散点图
- x,y散点坐标
- s散点面积
- c散点颜色(默认为蓝色,‘b’,其余颜色同plt.plot())
- marker散点样式(默认为实心圆)
- alpha散点透明度([0,1]之间的数,0表示完全透明,1表示完全不透明)
- linewidths散点的边缘线宽
- edgecolors散点的边缘颜色
- camp(Colormap,默认None,标量是一个colormap的名字,只有c是一个浮点数组时才使用)
x=np.array([1,2,3,4,5,6,7,8])
y=np.array([]1,4,9,16,7,11,23,18)
print((20*np.random.rand(8)**2)
a=(20*np.random.rand(8))**2
plt.scatter(x,y,s)
plt.show()

x=np.random.rand(50)
y=np.random.rand(50)
s=(10*np.random.randn(50))**2
color=np.random.rand(50)
plt.scatter(x,y,s,c=color.alpha=0.5
)
水平柱状图
from matplotlib import pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['figure.dpi']=100
plt.rcParams['figure.figsize']=(5,3)
- 调用Matplptlib的barh()函数可以生成水平柱状图
countries=['挪威','德国','中国','美国','瑞典']
gold_medal=np.array([16,12,9,8,8])
plt.barh(countries,width=gold_medal)

同位置柱状图
countries=['挪威','德国','中国','美国','瑞典']
gold_metal=[16,12,9,8,8]
silver_medal=[8,10,4,10,5]
bronze_metal=[13,5,2,7,5]
print(x)
width=0.2
gold_x=x
sliver_x=x+width
bronze_x=x+2*width
plt.bar(gold_x,gold_medal,width=width,color='gold')
plt.bar(silver_x,silver_medal,width=width,color='silver')
plt.bar(bronze_x,bronze_medal,width=width,color='saddlebrown')
plt.xticks(x+width,labels=countries)
for i in range(len(countries)):
plt.text(gold_x[i],gold_medal[i],va="bottom",ha="center")
plt.text(silver_x[i],silver_medal[i],va="bottom",ha="center")
plt.text(bronze_x[i],bronze_medal[i],va="bottom",ha="center")
