文章目录
- 图像显示设置:中文,负号
- pyplot 基本方法
- plot函数格式化控制符
- 绘制直线/曲线图
- 画布分区:正弦/余弦图
- 添加图例(说明)
- 绘制散点图
- 绘制柱状图
- 相关文章
图像显示设置:中文,负号
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
pyplot 基本方法
plot函数格式化控制符
使用方法plt.plot(x,x+1,'--c',label='--c') #虚线 浅蓝色
绘制直线/曲线图
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
'''
# 将(0,1)点和(2,4)连起来
plt.plot([0,2],[1,4])
plt.show()
'''
datas=[1,2,3,4,5]
squares=[1,4,9,16,25]
plt.plot(datas,squares,linewidth=5) #设置线条宽度
#设置图标标题,并在坐标轴上添加标签
plt.title('Numbers',fontsize=24)
plt.xlabel('x轴/datas',fontsize=14)
plt.ylabel('y轴/squares',fontsize=14)
plt.savefig('result.jpg') # 保存图片
# plt.savefig('result') 会生成result.png
plt.show()
画布分区:正弦/余弦图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
#将画布分为区域,将图画到画布的指定区域
x=np.linspace(1,10,100)
#将画布分为 2 行 2 列,将图画到画布的 1 区域
plt.subplot(2,2,1)
plt.plot(x,np.sin(x))
plt.ylabel('sinx',fontsize=14)
plt.subplot(2,2,3)
plt.plot(x,np.cos(x))
plt.ylabel('cosx',fontsize=14)
plt.show()
添加图例(说明)
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
#不同种类不同颜色的线并添加图例
x=np.linspace(0,10,100)
plt.plot(x,x+0,'-g',label='-g') #实线 绿色
plt.plot(x,x+1,'--c',label='--c') #虚线 浅蓝色
plt.plot(x,x+2,'-.k',label='-.k') #点划线 黑色
plt.plot(x,x+3,'-r',label='-r') #实线 红色
plt.plot(x,x+4,'o',label='o') #点 默认是蓝色
plt.plot(x,x+5,'x',label='x') #叉叉 默认是蓝色
plt.plot(x,x+6,'dr',label='dr') #砖石 红色
#添加图例右下角 lower right 左上角 upper left 边框 透明度 阴影 边框宽度
plt.legend(loc='lower right',fancybox=True,framealpha=1,shadow=True,borderpad=1)
plt.show()
绘制散点图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
# 画 10 种大小, 100 种颜色的散点图
np.random.seed(0)
x=np.random.rand(100)
y=np.random.rand(100)
colors=np.random.rand(100)
size=np.random.rand(100)*1000
plt.scatter(x,y,c=colors,s=size,alpha=0.7)
plt.show()
绘制柱状图
bar函数可以绘制柱状图。柱状图需要水平的x坐标值,以及每一个x坐标值对应的y坐标值。
barh函数将y和x轴对换竖着方向为x轴
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
x=np.arange(5)
y=np.random.randint(-5,5,5)
v_bar=plt.bar(x,y,color='lightblue')
for bar,height in zip(v_bar,y):
if height<0:
bar.set(edgecolor='darkred',color='lightgreen',linewidth='3')
plt.show()