如何产生图形
-
导入matplotlib包
-
调用plt.plot()
- plt.show()
import numpy as np
import matplotlib.pyplot as plt
t2 = np.arange(0.0, 5.0, 0.02)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()
plot属性
上例中:
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
第一个参数:T2代表X轴的值
第二个参数:Y轴的值
两者一一对应,两个相同长度数组,一一对应
例如x =(1,2)y =(2,3)
则产生的点为(1,2)(2,3)
第三个参数:设置线的颜色为R(红色),并且设置点的样式为 ' - '
其他例子:
import numpy as np
import matplotlib.pyplot as plt
t2 = np.arange(0.0, 5.0, 0.02)
plt.plot(t2, np.cos(2*np.pi*t2), 'og')
plt.show()
og查找下面表格o是圆,g是绿色
颜色
支持以下颜色缩写:
字符 | 颜色 |
---|---|
'b' | 蓝色 |
'g' | 绿色 |
'r' | 红 |
'c' | 青色 |
'm' | 品红 |
'y' | 黄色 |
'k' | 黑色 |
'w' | 白色 |
如果颜色是格式字符串的唯一部分,则可以另外使用任何规范,例如全名()或十六进制字符串()。matplotlib.colors
'green'
'#008000'
标记
字符 | 描述 |
---|---|
'.' | 点标记 |
',' | 像素标记 |
'o' | 圆圈标记 |
'v' | triangle_down标记 |
'^' | triangle_up标记 |
'<' | triangle_left标记 |
'>' | triangle_right标记 |
'1' | tri_down标记 |
'2' | tri_up标记 |
'3' | tri_left标记 |
'4' | tri_right标记 |
's' | 方形标记 |
'p' | 五边形标记 |
'*' | 明星标记 |
'h' | hexagon1标记 |
'H' | hexagon2标记 |
'+' | 加上标记 |
'x' | X标记 |
'D' | 钻石标记 |
'd' | thin_diamond标记 |
'|' | V线标记 |
'_' | HLINE标记 |
线条样式
字符 | 描述 |
---|---|
'-' | 实线风格 |
'--' | 虚线样式 |
'-.' | 点划线样式 |
':' | 虚线样式 |
示例格式字符串:
'b' # blue markers with default shape
'ro' # red circles
'g-' # green solid line
'--' # dashed line with default color
'k^:' # black triangle_up markers connected by a dotted line
设置图片显示大小
import numpy as np
import matplotlib.pyplot as plt
t2 = np.arange(0.0, 5.0, 0.02)
plt.figure(figsize=(5,5))
plt.plot(t2, np.cos(2*np.pi*t2),label='cos')
plt.figure(figsize=(6,6))
plt.plot(t2, 2*np.cos(2*np.pi*t2), label='2cos')
plt.figure(figsize=(7,7))
plt.plot(t2, 3*np.cos(2*np.pi*t2), label='3cos')
plt.show()
加标题及X,Y轴标签
import numpy as np
import matplotlib.pyplot as plt
t2 = np.arange(0.0, 5.0, 0.02)
plt.plot(t2, np.cos(2*np.pi*t2), 'og')
plt.xlabel("input x:")
plt.ylabel("input y:")
plt.title("hello")
plt.show()
加入传奇
import numpy as np
import matplotlib.pyplot as plt
t2 = np.arange(0.0, 5.0, 0.02)
plt.plot(t2, np.cos(2*np.pi*t2),label='cos')
plt.plot(t2, 2*np.cos(2*np.pi*t2), label='2cos')
plt.plot(t2, 3*np.cos(2*np.pi*t2), label='3cos')
plt.xlabel("input x:")
plt.ylabel("input y:")
plt.title("hello")
plt.legend(loc='best', shadow=True,fancybox=True)
plt.show()
plt.legend(loc='best', shadow=True,fancybox=True)
第一个参数:代表位置,最好是自动选择最佳位置,也可以进行指定
第二个参数:是否有阴影,默认为假,则是透明的
第三个参数:自动给曲线设置不同的颜色
插曲绘制子图
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t) * np.cos(2*np.pi*t)
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()
效果:
讲解:
plt.subplot(211) :
211是指将图片分成2行1列,最后的1是指的第一个图
plt.subplot(212)
212是指将图片分成2行1列,最后的2是指的第二个图
两行两列的例子
import numpy as np
import matplotlib.pyplot as plt
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
plt.subplot(221)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.subplot(222)
plt.plot(t2, np.cos(2*np.pi*t2), 'b--')
plt.subplot(223)
plt.plot(t2, np.cos(2*np.pi*t2), 'g--')
plt.subplot(224)
plt.plot(t2, np.cos(2*np.pi*t2), 'y--')
plt.show()
背景中显示网格
只需加一行plt.grid()
import numpy as np
import matplotlib.pyplot as plt
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.grid()
plt.show()
效果:
先这些吧,以后在补充
大家一起加油....