Matplotlib

Matplotlib

使用前需要先导入模块

import matplotlib.pyplot as plt
import numpy as np

绘制x点和y点

plot()函数用于在图表中绘制点(标记)
默认情况下,会从点到点之间绘制一条直线
参数1是一个包含x轴上点的数组
参数2是一个包含y轴上点的数组

#从(0,0)到(6,250)画一条直线
xpoints = np.array([0,6])
ypoints = np.array([0,250])
plt.plot(xpoints,ypoints)
plt.show()

2 无线绘图

仅绘图标志,可以使用快捷字符串标识符‘o’

xpoints = np.array([0,6])
ypoints = np.array([0,250])
plt.plot(xpoints,ypoints,'o')
plt.show()

绘制多点

绘制多点需要保证x轴和y轴上点的数量一致

xpoints = np.array([0,6,4,9])
ypoints = np.array([0,6,9,250])
plt.plot(xpoints,ypoints,'o')
plt.show()

默认x轴

如果不指定x轴的点,x轴的坐标会默认从0,1,2开始计算,取决于y轴上点的数量

ypoints = np.array([0,6,9,16])
plt.plot(ypoints)
plt.show()

标记

可以使用关键字参数marker,指定标记强调的点
markersize或者ms设置标记的大小

xpoints = np.array([0,6,9,16])
ypoints = np.array([0,6,9,16])
plt.plot(xpoints,ypoints,marker='o',ms=20)
plt.show()

格式化字符

fmt
marker | line | color

#o标记 :虚线 r红色
plt.plot(xpoints,ypoints,'o:r') 

标记参考

标记描述
‘o’Circle
‘*’Star
‘.’Point
‘,’Pixel
‘x’X
‘X’X (filled)
‘+’Plus
‘P’Plus (filled)
‘s’Square
‘D’Diamond
‘d’Diamond (thin)
‘p’Pentagon
‘H’Hexagon
‘h’Hexagon
‘v’Triangle Down
‘^’Triangle Up
‘<’Triangle Left
‘>’Triangle Right
‘1’Tri Down
‘2’Tri Up
‘3’Tri Left
‘4’Tri Right
‘l’Vline
‘_’Hline

线参考

语法描述
‘-’实线
‘:’虚线
‘–’破折线
‘-.’点划线

颜色参考

语法描述
‘r’Red
‘g’Green
‘b’Blue
‘c’Cyan
‘m’Magenta
‘y’Yellow
‘k’Black
‘w’White

线型

关键字参数:linestyle或ls更改线条样式
linewidth 设置线的宽度

x1 = np.array([0,6,9,16])
y1 = np.array([0,6,9,16])
x2 = np.array([1,2,3,4])
y2 = np.array([0,6,9,8])
plt.plot(x1,y1,x2,y2)
plt.show()

xlabel()和ylabel()分别为x轴和y轴设置标签
title()为图设置标题
以上方法中的fontdict参数可以设置标签和标题字体属性
grid()显示网格线 axis指定x轴或y轴 合法取值:both x y
loc定位标题 默认为center 合法取值:left right center

#设置字体
matplotlib.rcParams['font.sans-serif']=['KaiTi']
font1={'family':'serif','color':'blue','size':20}
font2={'family':'serif','color':'darkred','size':16}
x1 = np.array([0,6,9,16])
y1 = np.array([0,6,9,16])
plt.plot(x1,y1)
plt.title("测试",loc='left')
plt.xlabel("x轴",fontdict=font1)
plt.ylabel("y轴",fontdict=font2)
plt.show()

多图

subplot()可以绘制多个图
subplot根据三个参数设置布局
第一第二分别代表几行几列,第三代表当前图索引
超级标题suptitle()

plt.subplot(2,2,1)
x1 = np.array([0,6,9,16])
y1 = np.array([0,6,9,16])
plt.plot(x1,y1)
plt.subplot(2,2,2)
x1 = np.array([0,6,9,16])
y1 = np.array([0,6,9,16])
plt.plot(x1,y1)
plt.suptitle("hello")
plt.show()

散点图

scatter()
该函数一样需要传入两个相同长度的数组分别代表x和y轴

plt.subplot(2,2,1)
x1 = np.array([0,6,9,16])
y1 = np.array([0,6,9,16])
plt.scatter(x1,y1)
plt.show()

color或c属性设置颜色
s属性更改大小
alpha设置透明度 0-1
颜色图
cmap指定颜色图
colorbar显示

#传入数组可以定义不同颜色和大小
x = np.random.randint(100,size=100)
y = np.random.randint(100,size=100)
colors = np.random.randint(100,size=100)
sizes = np.random.randint(100,size=100)
plt.scatter(x,y,c=colors,alpha=0.6,s=sizes,cmap='viridis')
plt.colorbar()
plt.show()

柱状图

bar()
barh()水平柱状图
属性color width
barh使用height设置高度

x=np.array(['a','b','c','d'])
y=np.random.randint(10,size=4)
plt.bar(x,y)
plt.barh(x,y)
plt.show()

直方图

hist()

x=np.random.normal(60,10,260)
plt.hist(x)
plt.show()

饼图

pie()
label标签 传入的数据只能是数组
startangle 起始角度 默认为0
explode 传入的数据只能是数组 每个数值代表距离圆心的距离
shadow阴影 True 或 False
legend()设置图例 带有参数title
colors 传入的数据只能是数组

y=np.array([10,26,14,60])
label=['apple','potato','clan','flty']
plt.pie(y,labels=label)
plt.legend()
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值