Tic商业评论

关注微信公众号【站长自定义模块】,定时推送前沿、专业、深度的商业资讯。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

matplotlib基本操作

0
回复
31458
查看
[复制链接]
已绑定手机

49

主题

4

回帖

1228

积分

管理员

积分
1228
QQ
来源: 2020-6-29 21:06:37 显示全部楼层 |阅读模式
本文主要讲解画图工具matplotlib:
  • 创建图片
  • 添加图片的颜色标记等
  • 图片的刻度、标题、标签等添加
  • subplot子图




图的创建
import matplotlib.pyplot as plt

import matplotlib as mpl

import numpy as np
中文显示问题
#显示

#显示gui,在行内显示

%matplotlib inline



#解决中文显示问题

mpl.rcParams['font.sans-serif'] = ['SimHei']

mpl.rcParams['axes.unicode_minus'] = False
画线性图
#画线性图(3,3)(1,8)(7,2)的坐标

plt.plot([3,1,7],[3,8,2])

#显示图片

plt.show()
xinxi.jpg

figure:图形,matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片.
x = np.arange(-3,3,0.1)

y1 = np.sin(x)

y2 = np.cos(x)

#创建第一个图形

plt.figure()

plt.plot(x,y1)

plt.figure(num = 5,figsize = (8,5))

plt.plot(x,y2)
xinxi.jpg


添加图片的颜色标记等
x = np.arange(-3,3,0.1)

y1 = np.sin(x)

y2 = np.cos(x)

#创建第一个图形

plt.figure()

#plt.plot(x,y1,x,y2)



#值传递一个值,默认为y值  ,而x 默认为 从0 - n

plt.plot([1,2,3,4,5])

plt.show()
xinxi.jpg


x = np.arange(-3,3,0.1)

y1 = np.sin(x)

y2 = np.cos(x)



# plt.figure()

#plt.plot(x,y1,color = 'red')

#plt.plot(x,y1,color = 'red',linestyle = '-.')

#plt.plot(x,y1,color = 'red',linestyle = '-.',marker = '>')

#plt.plot(x,y1,color = 'red',linestyle = '-.',marker = 'o',markersize = 10,alpha = 0.5)



#简写方式

plt.plot(x,y1,'ro--')

plt.show()
xinxi.jpg


查看手册
help(plt.plot)

图片的刻度、标题、标签等添加
x1 = [1,2,3]

y1 = [5,7,4]

x2 = [1,2,3]

y2 = [10,12,14]



plt.figure()

plt.plot(x1,y1,'ro-',label = '进口')

plt.plot(x2,y2,'bo--',label = '出口')



#设置标题标签

plt.xlabel('月份')

plt.ylabel('美元/亿')

plt.title('进出口数据')



#设置范围

plt.xlim(0,6)

plt.ylim(0,15)



#设置刻度

plt.xticks([1,2,3,4,5,6],[str(i)+'月' for i in range(1,7)])

plt.yticks(np.arange(2,16,2),['200','300','400','500','600','700','800'])



#获取坐标轴信息

ax = plt.gca()

#设置边框

ax.spines['top'].set_color('none')

ax.spines['right'].set_color('none')



#生成默认图例

plt.legend()



plt.show()
xinxi.jpg



subplot子图

Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。
x1 = [1,2,3]

y1 = [5,7,4]

x2 = [1,2,3]

y2 = [10,12,14]



#创建图像

plt.figure()

plt.subplot(221)#创建第一个子图

plt.plot(x1,y1,'ro--')



plt.subplot(223)#创建第二个子图

plt.plot(x2,y2,'bo-')





plt.show()
xinxi.jpg


#面向对象的形式

#创建图形

fig = plt.figure()



#创建子图

ax1 = fig.add_subplot(221)

ax2 = fig.add_subplot(222)

ax3 = fig.add_subplot(212)





#在ax1上画图

ax1.plot(np.random.randn(50).cumsum(),'g--')

ax2.plot(np.random.randn(50).cumsum(),'b--')

ax3.plot(np.random.randn(50).cumsum(),'r--')





plt.show()
xinxi.jpg


#例子:

fig,axes = plt.subplots(2,2 ,sharex = True,sharey = True)



for i in range(2):

  for j in range(2):

    axes[i][j].hist(np.random.randn(100),10,color = 'm',alpha = 0.75)

plt.subplots_adjust(wspace =0.3,hspace = 0.3)

fig.suptitle('test',fontsize = 20)



plt.savefig('aaa.png',dpi = 100)#保存图片

plt.show()
xinxi.jpg





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
电话咨询: 135xxxxxxx
关注微信