matplotlib简要画图

前言

对于普通用户,使用一次性画图能很快的学习、完成一般场景下作图。
下面是两个简单的例子:

一次性作图
import matplotlib.pyplot as plt
plt.bar(['a','b','c','d','e'], [20,30,10,50,40], color=['b','c','g','k','m'], alpha = .7)
plt.show()

一次性作图

面向对象作图

面向对象作图

fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1 = plt.bar(['a','b','c','d','e'], [20,30,10,50,40], color=['b','c','g','k','m'], alpha = .7)
fig.show()

结论

面向对象作图会显得复杂一些,做出来的图也不太尽人意,当然图是可以调整的。对于普通用户,我推荐使用一次性画图。

作图基本步骤

1.获得数据、确定作图类型
2.作图
3.调整图(加标签,调大小,调标度… (调整图的函数基本通用)
4.显示图、保存图

图类型:

折线图plot、散点图scatter、直方图hist、柱状图bar、饼状图pie、颜色图colorbar

通用调整函数:plt.function

用法见实例

function 说明 备用栏
figure(figsize=[w,h]) 调整图像大小,此函数必须放在作图函数前 w:宽度、h:高度
title(‘title’) 设置图的标题 title可改为任意字符,中文显示不了
xlabel(str, fontsize, color) 设置x轴的标签 str:x轴标签、fontsize:字体大小、color:颜色
ylabel(str, fontsize, color) 设置y轴的标签 str:y轴标签、fontsize:字体大小、color:颜色
xlim(min, max) 设置x轴的范围 min:最小值、max:最大值
ylim(min, max) 设置y轴的范围 min:最小值、max:最大值
axis(‘off’) 隐藏坐标轴 none
xticks([], rotation = 45) 隐藏x坐标刻度,旋转x坐标刻度45度 []为空列表就是隐藏的意思、rotation:旋转角度
xticks([], rotation = 45) 隐藏y坐标刻度,旋转y坐标刻度45度 []为空列表就是隐藏的意思、rotation:旋转角度
grid(True) 显示网格 none
xscale(‘linear|log|symlog|logit’) 设置x刻度数字的显示方式 任意填一个就行
yscale(‘linear|log|symlog|logit’) 设置y刻度数字的显示方式 任意填一个就行
axhline(y) 在y=y处画一条线 none
axvline(y) 在x=x处画一条线 none
legend(loc = ‘best|[upper] left |right’) 显示标识 best自动调整、left左边显示、right右边显示、upper left不记得什么意思了

各图类型作图实例:

折线图1_plot

默认:
这里写图片描述
调整后:
plot

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(1,21,1)  ##产生随机数据
y = np.random.randint(1,50,20)  ##产生随机数据
#plt.figure(figsize=[8,4]) ##调整图的大小
plt.plot(x,y,label='add_label')  ##基本步骤:作图
#plt.title("plot")  ##添加标题
#plt.xlabel('x_axis',fontsize=20,color='c')  ##添加x轴信息
#plt.ylabel('y_axis',fontsize=10,color='g')  ##添加y轴信息
#plt.xlim(0, 20)  ##设置x轴范围
#plt.ylim(-10, 55)  ##设置y轴范围
##plt.axis('off')  ##不显示坐标轴
#plt.xticks(rotation = 45)  ##x坐标轴刻度标签旋转45度
#plt.yticks(rotation = -45)  ##y坐标轴刻度标签旋转45度
#plt.grid(True)  ##显示网格
#plt.xscale('linear')  ##设置x坐标轴刻度数的显示形式
#plt.yscale('linear')  ##设置y坐标轴刻度数的显示形式
#plt.axhline(20)  ##画水平线
#plt.axvline(10)  ##画垂直线
#plt.legend(loc = 'best')  ##自动找到最佳位置显示线标识
plt.show()  ##显示图片

折线图2_plot(plot也可以画出散点图)

plot

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,21,1)
y = np.random.randint(1,50,20)
plt.plot(x,y,'*')  ##设置样式为*状
plt.show()

折线图3_plot

plot3

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,21,1)
y1 = np.random.randint(1,50,20)
y2 = np.random.randint(1,50,20)
plt.plot(x,y1,'-',x,y2,'--')  ##plot可以同时画多组线,最好还是分开画(用两次plot)
#plt.plot(x,y1,'-')
#plt.plot(x,y2,'--')
plt.show
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值