pycharm使用笔记

一、将数字可视化暨meshgrid\contourf\contour的使用。

contour  - 绘制等高线

contourf - 填充等高线

两个的返回值值是一样的(return values are the same),实际上contourf 相当于 contour filled。

常用参数语法:

mp.contourf(x, y, z, 等高线条数,cmap=颜色映射)# 等高线填充
mp.contour(x, y, z, 等高线条数,colors=颜色, linewidth=线宽)#等高线绘制

示例代码(参考B站文刀是也的视频): 

#By:sxy in 10.8.2018
#将数字可视化。
#meshgrid\contourf\contour的应用。

import numpy as np
import matplotlib.pyplot as plt
#meshgrid,将向量扩充到2D空间内)
x=np.arange(0,11,1)
y=np.arange(0,11,1)
xx,yy=np.meshgrid(x,y)
print("xx",xx)
print("yy",yy)
zz=np.sin(xx)+np.cos(yy)
plt.contourf(xx,yy,zz,3,cmap=plt.cm.rainbow)
cont=plt.contour(xx,yy,zz,3,colors='black')
plt.clabel(cont,inline=True,fontsize=10)
plt.show()

运行结果为: 

二、从文本中下载数据。

: @1、文本要和.py文件处于同一个文件目录下

    @2、一些函数的使用:

 strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串 #该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

np.mat()是将序列转为np的二维数组,np.transpose()是将数组转置。

例子代码:

#从文本中下载数据。
#文本要和.py文件处于同一个文件目录下。
import numpy as np
import matplotlib.pyplot as plt
def loadfile(filename):
    fr=open(filename)
    x=[]
    y=[]
    for line in fr.readlines():#取一行,为字符串的格式
        #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
        # split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串
        #该方法只能删除开头或是结尾的字符,不能删除中间部分的字符
        line= line.strip().split()
        x.append(float(line[0]))#每取一行,都把第一个数,先float再放在x里
        y.append(float(line[1]))
    xmat=np.mat(x).T#np.mat()是将序列转为np的二维数组,np.transpose()是将数组转置
    ymat=np.mat(y).T
    return xmat, ymat
xmat, ymat=loadfile("datatest.txt")
print("xmat:", xmat.shape, type(xmat))
print("ymat:", ymat.shape, type(ymat))
plt.scatter(xmat.A, ymat.A, s=50, c="r")
plt.grid(True)
plt.xlabel('x')
plt.ylabel('y')
plt.show()

 

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值