《Python编程:从入门到实践》读书笔记

1.使用plot()绘制简单的折线图

import matplotlib.pyplot as plt

va=[1,2,3,4,5]
sq=[1,4,9,16,25]
plt.plot(va,sq,linewidth=1)
plt.title("square",fontsize=24)
plt.xlabel("value",fontsize=14)
plt.ylabel("square of value",fontsize=14) plt.tick_params(axis='both',labelsize=14)#设置刻度的样式,并设置标度字体大小。 plt.show()

//其中包括加title,加坐标描述,设置线段粗细,xy坐标轴均有数据,

运行结果:

2.使用scatter()绘制散点图

import matplotlib.pyplot as plt

#plt.scatter(2,4,s=20)#s设置点的尺寸大小
xv=[1,2,3,4,5]
yv=[1,4,9,16,25]
plt.scatter(xv,yv)#将两个列表作为参数 plt.title("Square")
plt.xlabel("number")
plt.ylabel("square")
plt.tick_params(axis="both",which="major") plt.show()

运行结果:

对以上进行了改进,对横轴、纵轴的数据使用自动计算的方式:

import matplotlib.pyplot as plt

#plt.scatter(2,4,s=20)#s设置点的尺寸szie大小

#使用代码计算数据
xv=list(range(1,1001))
yv=[x**2 for x in xv]
plt.scatter(xv,yv,s=10) plt.title("Square")
plt.xlabel("number")
plt.ylabel("square")
plt.tick_params(axis="both",which="major") plt.show()

运行结果:(y轴挤不见了)

对散点图中各个点的操作:

plt.scatter(xv,yv,c='red',edgecolor='none',s=10)
plt.scatter(xv,yv,c=(0,0,0.9),edgecolor='none',s=10)

1.其中edgecolor是防止点之间的粘连,设置为none,

2. 设置点的颜色有两种方法:直接给c赋值颜色;给c传入一个rgb列表,值都在0-1之间。值越小 颜色越深。

有趣的点来了:

使用颜色映射,可以突出数据的规律,比如让较浅颜色显示较小值,较深颜色显示较大值:

import matplotlib.pyplot as plt

#使用代码计算数据
xv=list(range(1,1001))
yv=[x**2 for x in xv]
plt.scatter(xv,yv,c=yv,cmap=plt.cm.Blues,s=10)

其中:c直接赋值为y轴的值, cmap告诉pyplot使用哪个颜色映射:

3.画出随机漫步图表

piandao.py:

from random import choice

class RandNum():
def __init__(self,ct=5000):
self.ct=ct
self.xv=[0]#这里一定不能初始化为[],不然在下面函数的while循环里,Append就会报错,因为
self.yv=[0]#一开始这两个列表都为空。 def rd(self):
""""选择方向"""
while len(self.xv)<self.ct:
xdir=choice([-1,1])#choice函数会从list中选择一个数
xdis=choice([0,1,3,2,4])
x=xdir*xdis ydir=choice([-1,1])
ydis=choice([0,1,2,3,4])
y=ydir*ydis
if x==0 and y==0:#不允许踏步不前
continue
# self.xv.append(self.xv[-1] + x)
# self.yv.append(self.yv[-1] + y) xnext=self.xv[-1] + x
ynext=self.yv[-1] + y
self.xv.append(xnext)
self.yv.append(ynext)

给出了rd函数,产生随机数对,放入坐标数据列表中。

调用的代码:

import matplotlib.pyplot as plt
from piandao import RandNum #这里是from...import... 并且不需要加.py后缀 while True:
rd = RandNum()
rd.rd()
# 画图:
ptn=list(range(rd.ct))#给出列表,作为颜色变化。
plt.scatter(rd.xv, rd.yv,c=ptn,cmap=plt.cm.Blues) plt.scatter(0,0,c='red')#重新画出起点和终点
plt.scatter(rd.xv[-1],rd.yv[-1],c='green') plt.axes().get_xaxis().set_visible(False)#设置坐标轴不显示
plt.axes().get_yaxis().set_visible(False) plt.show() whe=input("continue?")#通过while循环让用户控制是否结束
if whe=='y':
break

运行结果:

python-绘图matplotlib的更多相关文章

  1. Python绘图matplotlib

    转自http://blog.csdn.net/ywjun0919/article/details/8692018 Python图表绘制:matplotlib绘图库入门 matplotlib 是pyth ...

  2. python绘图 matplotlib教程

    mark一个很好的python绘图教程 https://liam0205.me/2014/09/11/matplotlib-tutorial-zh-cn/

  3. python之matplotlib绘图基础

    Python之matplotlib基础 matplotlib是Python优秀的数据可视化第三方库 matplotlib库的效果可参考 http://matplotlib.org/gallery.ht ...

  4. python绘图:matplotlib和pandas的应用

    在进行数据分析时,绘图是必不可少的模式探索方式.用Python进行数据分析时,matplotlib和pandas是最常用到的两个库.1.matplotlib库的应用准备工作如下:打开ipython,输 ...

  5. python 利用matplotlib中imshow()函数绘图

    matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...

  6. 【python笔记】使用matplotlib,pylab进行python绘图

    一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API.因此,作为想要学习python绘图的童鞋们就得在自己的python ...

  7. 使用 Python 的 matplotlib 绘图库进行绘图

    matplotlib 是 Python 最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 1  使用 Ma ...

  8. python 中matplotlib 绘图

    python 中matplotlib 绘图 数学建模需要,对于绘图进行简单学习 matpoltlib之类的包安装建议之间用anaconda 绘制一条y=x^2的曲线 #比如我们要绘制一条y=x^2的曲 ...

  9. Python绘图与可视化

    Python有很多可视化工具,本篇只介绍Matplotlib. Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在Python脚本.IPython的交互环境下.Web应用 ...

  10. Python绘图工具Plotly的简单使用

    1.Plotly被称为史上最好的绘图工具之一,为了更好的展示金融数据的复杂性. Plotly的官方网站为:https://plot.ly/ python量化的关键是金融数据可视化,无论是传统的K线图, ...

随机推荐

  1. windows下SVN服务的安装与配置

    第一步 下载 去svn官网下载一个最新版的svn svn官网下载地址 该链接会跳转到 https://sourceforge.net/projects/win32svn/ 进行下载 第二步 安装 双击 ...

  2. mysql 分数表实现排名

    首先初始化一张表 DROP TABLE IF EXISTS `lq_wx_sign`; CREATE TABLE `lq_wx_sign` ( `id` ) unsigned NOT NULL AUT ...

  3. php yaf框架扩展实践五——数据层

    从狭义角度上来理解数据层就是数据库,比较广义的理解来看数据库.远程数据.文件等都可以看做数据层.项目初期的时候一般单一的数据库就可以了,随着流量的增大就要对数据层做很多的改进,例如增加从库分散读压力, ...

  4. Python之Matplotlib库常用函数大全(含注释)

    plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test plt.ylabel(‘Grade’) :  y轴的名称 plt.axis([-1, 1 ...

  5. 将int型数字转换成6位字符串,不足的时候,前面补0

    将int型数字转换成6位字符串,不足的时候,前面补0 方法一: int num = 123; num.ToString("000000"); 方法二: int num = 123; ...

  6. jQuery左右选择框

    <!DOCTYPE html> <html> <head> <title>左右选择框</title> <style type=&quo ...

  7. 理解java的 多态

    http://www.cnblogs.com/chenssy/p/3372798.html

  8. windows 中 Eclipse 打开当前文件所在文件夹

    默认情况下使用eclipse打开当前文件所在文件夹很麻烦,需要右键点击 Package Explorer 中的节点选择属性,然后复制路径,再打开资源管理器,然后再把路径粘贴进去.而MyEclipse一 ...

  9. Linux各文件颜色的含义

    Linux系统中文件有多种颜色,不同颜色文件代表不同类型的文件,具体如下: 蓝色:目录 绿色:可执行文件 红色:压缩文件 浅蓝色:链接文件 白色:普通文件 黄色:设备文件

  10. 下载xftp,xshell进行与linux端的远程操作

    在window下下载xftp5和xshell5 xshell主要是对远程的及其进行访问,在远程的情况下进行操作 xftp可以对远程的机器进行文件传输. 我安装这两个是单个的安装的. 进入官网 http ...