Python画图

  Python里经常需要绘图,客http://nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/index.ipynb ,此博文里有详细的Python学习笔记,针对绘图也有详细的说明。此文仅为自己学习实践的记录。

1. plt.plot(x1,y1,format_str, x2,y2,format_str)可以用来画多组图。
   plt.show 函数用来显示图像。图像格式如下。除了用format_str指定格式外,还可以用linewidth和color显示的指定线条格式。
   plt.plot 函数有范围值,返回的是各组线条的句柄,通过函数plt.setp(line, ...)设置句柄,可以改变线条宽度颜色等属性。

Plot 颜色格式
字符颜色
‘b’ 蓝色,blue
 ‘g’绿色,green
 ‘r’红色,red
 ‘c’青色,cyan
 ‘m’品红,magenta
 ‘y’黄色,yellow
 ‘k’黑色,black
 ‘w’白色,white

 

Plot 线条格式
 字符 类型 字符 类型
 '-' 实线 '--' 虚线
 '-.' 虚点线 ':' 点线
 '.' ',' 像素点
 'o' 圆点 'v' 下三角点
 '^' 上三角点 '<' 左三角点
 '>' 右三角点 '1'  下三叉点
 '2' 上三叉点 '3'   左三叉点
 '4' 右三叉点 's' 正方点
 'p' 五角点  '*'  星形点
 'h' 六边形点1 'H' 六边形点2
 '+'  加号点  'x' 乘号点
 'D' 实心菱形点  'd'  瘦菱形点
 '_'  横线点   

 

  2. 坐标轴显示范围设定,plt.axis([xmin, xmax, ymin, ymax])

  3. plt.figure(num) 产生指定编号为num的图。plt.subplot(rows, cols, fignum) 在一幅图中产生多幅子图。当 numrows * numcols < 10 时,中间的逗号可以省略,因此 plt.subplot(211) 就相当于 plt.subplot(2,1,1)。

  4. plt.xlabel, plt.ylabel, plt.title 产生图的对应标签。plt.text(x,y,str) 在指定位置生成文本说明。plt.grid(True/False)显示网格。

  5. plt.annotate(str(注释的内容), xy=(x,y), xytext=(x,y), str(注释的样式))。

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0, 5, 0.1)
plt.figure(1)
plt.subplot(211)
plt.title('Sin-function')
plt.xlabel('t')
plt.ylabel('y')
plt.axis([0, 4, -1, 1])
plt.plot(t, np.sin(2*np.pi*t)*0.5, 'b-', t, np.exp(-t)*np.cos(2*np.pi*t), 'g-.')
plt.annotate('local max', xy = (5/4, 0.5), xytext = (2, 0.8), arrowprops=dict(facecolor='black', shrink=0.05))
plt.subplot(2,1,2)
plt.plot(t, np.cos(2*np.pi*t), 'r--')
plt.title('Cos-function')
plt.xlabel('t')
plt.ylabel('y')
plt.axis([0, 5, -1, 1])
plt.tight_layout(0.5) # 设定子图之间的间距
plt.savefig('plt.jpg') # 存储绘图
plt.show()

6. 使用style配置pyplot风格。pyplot有多种预设风格,可以使用 plt.style.available 来查看:包括[u'dark_background', u'bmh', u'grayscale', u'ggplot', u'fivethirtyeight']。
  plt.figure(1)
  x = np.linspace(0, 2*np.pi)
  y = np.sin(x)

  with plt.style.context(('dark_background')):
    plt.plot(x, y, 'r-o')
    plt.show()
  ## 黑色背景

 

 

转载于:https://www.cnblogs.com/PowerTransfer/p/8438374.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值