“Matplotlib”的版本间差异
跳到导航
跳到搜索
(→plot) |
无编辑摘要 |
||
第1行: | 第1行: | ||
* ''' ipython中事先执行 %matplotlib ''' |
|||
*创建不同的图表 |
|||
* 参见 [https://matplotlib.org/index.html] [http://www.cnblogs.com/wei-li/archive/2012/05/23/2506940.html] |
|||
⚫ | |||
⚫ | |||
⚫ | |||
*同一图表上面不同的panel |
|||
*'''import matplotlib.plot as plt''' |
|||
plt.subplot(211) # 在图表2中创建子图1 |
|||
plt.subplot(212) # 在图表2中创建子图2 |
|||
*初始化 clear |
*初始化 clear |
||
plt.clf() |
plt.clf() |
||
* Tweak spacing to prevent clipping of ylabel |
* Tweak spacing to prevent clipping of ylabel |
||
plt.tight_layout() |
plt.tight_layout() |
||
⚫ | |||
* 简单的例子 |
|||
import numpy as np |
|||
import matplotlib.pyplot as plt |
|||
x = np.arange(0, 5, 0.1); |
|||
y = np.sin(x) |
|||
plt.clf() #clear the current figure |
|||
plt.subplot(211) |
|||
plt.plot(x, y) |
|||
plt.show() |
|||
plt.xlim(0,3) #调整坐标范围 |
|||
:* options for the color characters are: 'r' , 'g' , 'b' = blue, 'c' = cyan, 'm' = magenta, 'y' = yellow, 'k' = black, 'w' = white |
|||
:* Options for line styles are: '-' = solid, '--' = dashed, ':' = dotted, '-.' = dot-dashed, '.' = points, 'o' = filled circles, '^' = filled triangles |
|||
⚫ | |||
*直方图 num_bins = 50 |
*直方图 num_bins = 50 |
||
fig, ax = plt.subplots() |
fig, ax = plt.subplots() |
||
# the histogram of the data |
# the histogram of the data |
||
n, bins, patches = ax.hist(x, 50, normed=1) |
n, bins, patches = ax.hist(x, 50, normed=1) |
||
*对数坐标 |
*对数坐标 |
||
第30行: | 第43行: | ||
*设置坐标轴的极限 |
*设置坐标轴的极限 |
||
:ax.set_ylim(ymin=0.1) |
:ax.set_ylim(ymin=0.1) |
||
:参见[https://matplotlib.org/gallery/scales/log_demo.html] |
|||
*产生多个图形窗口 |
|||
⚫ | |||
⚫ | |||
*pmesh,pcolormesh: 画二维的平面分布的图 |
|||
*colorbar |
|||
==图像== |
|||
* matplotlib里面可以用axes.imshow() |
|||
delta = 0.025 |
|||
x = y = np.arange(-3.0, 3.0, delta) |
|||
X, Y = np.meshgrid(x, y) |
|||
Z = np.exp(-X**2 - Y**2) |
|||
fig, ax = plt.subplots() |
|||
im = ax.imshow(Z, interpolation='bilinear', cmap=cm.RdYlGn, |
|||
origin='lower', extent=[-3, 3, -3, 3], |
|||
vmax=abs(Z).max(), vmin=-abs(Z).max()) #lower 就是把index[0,0]放在左下,extent是数轴上标志的范围 |
|||
* pylot.imshow(Z) |
|||
== 保存图片文件== |
|||
⚫ | |||
*plt.savefig("filename.png") |
|||
*plt.savefig('SFH_LMC_miles.pdf',format='pdf') |
|||
*保存文件一片空白 |
|||
:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。 |
|||
::plt.show() 放在最后,或者 |
|||
# gcf: Get Current Figure |
|||
fig = plt.gcf() |
|||
plt.show() |
|||
fig1.savefig('tessstttyyy.png', dpi=100) |
2019年4月17日 (三) 03:26的版本
plot
- import matplotlib.plot as plt
- 初始化 clear
plt.clf()
- Tweak spacing to prevent clipping of ylabel
plt.tight_layout()
- 简单的例子
import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 5, 0.1); y = np.sin(x) plt.clf() #clear the current figure plt.subplot(211) plt.plot(x, y) plt.show() plt.xlim(0,3) #调整坐标范围
- options for the color characters are: 'r' , 'g' , 'b' = blue, 'c' = cyan, 'm' = magenta, 'y' = yellow, 'k' = black, 'w' = white
- Options for line styles are: '-' = solid, '--' = dashed, ':' = dotted, '-.' = dot-dashed, '.' = points, 'o' = filled circles, '^' = filled triangles
- marker style [3]
- 直方图 num_bins = 50
fig, ax = plt.subplots() # the histogram of the data n, bins, patches = ax.hist(x, 50, normed=1)
- 对数坐标
- semilogx #x轴对数
- semilogy #y轴对数
- set_xscale("log", nonposx='clip')
- set_yscale("log", nonposy='clip')
- 误差棒
- errorbar(x, y, xerr=0.1 * x, yerr=5.0 + 0.75 * y, ls='None', marker='s') #ls='None' 不连线
- grid
- ax.grid()
- 设置坐标轴的极限
- ax.set_ylim(ymin=0.1)
- 参见[4]
- 产生多个图形窗口
plt.figure(1) plt.figure(2)
- pmesh,pcolormesh: 画二维的平面分布的图
- colorbar
图像
- matplotlib里面可以用axes.imshow()
delta = 0.025 x = y = np.arange(-3.0, 3.0, delta) X, Y = np.meshgrid(x, y) Z = np.exp(-X**2 - Y**2) fig, ax = plt.subplots() im = ax.imshow(Z, interpolation='bilinear', cmap=cm.RdYlGn, origin='lower', extent=[-3, 3, -3, 3], vmax=abs(Z).max(), vmin=-abs(Z).max()) #lower 就是把index[0,0]放在左下,extent是数轴上标志的范围
- pylot.imshow(Z)
保存图片文件
- plt.savefig("filename.png")
- plt.savefig('SFH_LMC_miles.pdf',format='pdf')
- 保存文件一片空白
- 在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。
- plt.show() 放在最后,或者
# gcf: Get Current Figure fig = plt.gcf() plt.show() fig1.savefig('tessstttyyy.png', dpi=100)