“Matplotlib”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
→‎plot
无编辑摘要
第1行: 第1行:
* ''' ipython中事先执行 %matplotlib '''
*创建不同的图表
* 参见 [https://matplotlib.org/index.html] [http://www.cnblogs.com/wei-li/archive/2012/05/23/2506940.html]
plt.figure(1) # 创建图表1

plt.figure(2) # 创建图表2
==plot==
*同一图表上面不同的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()

==plot==
* 简单的例子
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 [https://matplotlib.org/api/markers_api.html]

*直方图 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]

*产生多个图形窗口
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)


== 保存图片文件==
参见[https://matplotlib.org/gallery/scales/log_demo.html]
*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的版本

  • ipython中事先执行 %matplotlib
  • 参见 [1] [2]

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)