- 十二、Matplotlib
- 1. 线型图
- 2. 颜色、标记形状、线型
- 3. 标签、图例
- 4. 子图
- 5. 散点图
- 6. 直方图
- 7. 饼图
Matplotlib是Python的绘图库,具备强大的绘图功能,且能在很多平台上使用。
1. 线型图import matplotlib.pyplot as plt #习惯于将“import matplotlib”写成“import matplotlib.pyplot as plt” import numpy as np %matplotlib inline #直接显示 Matplotlib 绘制的图像 np.random.seed(42) x = np.random.randn(30) #生成30个随机参数(均值为0,方差为1的正态分布) plt.plot(x, 'r--o')
2. 颜色、标记形状、线型[
]
用于设置线型图中线条颜色的常用参数如下:
(1)“b”:指定绘制的线条颜色为蓝色。
(2)“g”:指定绘制的线条颜色为绿色。
(3)“r”:指定绘制的线条颜色为红色。
(4)“c”:指定绘制的线条颜色为蓝绿色。
(5)“m”:指定绘制的线条颜色为洋红色。
(6)“y”:指定绘制的线条颜色为黄色。
(7)“k”:指定绘制的线条颜色为黑色。
(8)“w”:指定绘制的线条颜色为白色。
用于设置线型图中标记参数点形状的常用参数如下:
(1)“o”:指定标记实际点使用的形状为圆形。
(2)“”:指定标记实际点使用“”符号。
(3)“+”:指定标记实际点使用“+”符号。
(4)“x”:指定标记实际点使用“x”符号。
用于设置线型图中连接参数点线条形状的常用参数如下:
(1)“-”:指定线条形状为实线。
(2)“–”:指定线条形状为虚线。
(3)“-.”:指定线条形状为点实线。
(4)“:”:指定线条形状为点线。
import matplotlib.pyplot as plt import numpy as np %matplotlib inline a = np.random.randn(30) b = np.random.randn(30) c = np.random.randn(30) d = np.random.randn(30) plt.plot(a, 'r--o', b, 'b-*', c, 'g-.+', d, 'm:x') #此时没有使用随机种子,结果有差异性
3. 标签、图例[
,
,
,
]
import matplotlib.pyplot as plt import numpy as np %matplotlib inline np.random.seed(42) x = np.random.randn(30) y = np.random.randn(30) plt.title('Example') plt.xlabel('X') plt.ylabel('Y') X, = plt.plot(x, 'r--o') Y, = plt.plot(y, 'b-x') plt.legend([X, Y], ['X_value', 'Y_value'])
4. 子图
import matplotlib.pyplot as plt import numpy as np %matplotlib inline a = np.random.randn(30) b = np.random.randn(30) c = np.random.randn(30) d = np.random.randn(30) fig = plt.figure() ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2,2,2) ax3 = fig.add_subplot(2,2,3) ax4 = fig.add_subplot(2,2,4) A, = ax1.plot(a, 'r--o') ax1.legend([A], ["A"]) B, = ax2.plot(b, 'b-*') ax2.legend([B], ["B"]) C, = ax3.plot(c, 'g-.+') ax3.legend([C], ["C"]) D, = ax4.plot(d, 'm:x') ax4.legend([D], ["D"])
5. 散点图
import matplotlib.pyplot as plt import numpy as np %matplotlib inline np.random.seed(42) x = np.random.randn(30) y = np.random.randn(30) plt.scatter(x, y, c='g', marker='o', label='(X, Y)') plt.title("Example") plt.xlabel('X_value') plt.ylabel('Y_value') plt.legend(loc=1) plt.show()
上面的代码中:
- c='g’指定颜色是绿色;
- marker='o’指定参数点的形状是圆形;
- label=’(X, Y)'指定在散点图中绘制的参数点使用的图例,与线型图中的图例不同;
- plt.legend(loc=1)对图例的位置进行强制设定,loc=0、1、2、3、4分别代表强制设定在最好的位置、右上角、左上角、左下角、右下角的位置。
import matplotlib.pyplot as plt import numpy as np %matplotlib inline np.random.seed(42) x = np.random.randn(1000) plt.hist(x, bins=20, color='g') #bins=20指定直方图有20条 plt.title("Example") plt.xlabel('X_value') plt.ylabel('Y_value') plt.show()7. 饼图
import matplotlib.pyplot as plt mylabels = ['Dogs', 'Cats', 'Birds'] sizes = [15, 50, 35] #mylabels每部分对应的占比 plt.pie(sizes, explode=(0, 0, 0.1), labels=mylabels, autopct='%1.1f%%', startangle=90) plt.axis('equal') plt.show()
上面的代码中:
- explode定义每部分数据系列之间的间隔,设置(0, 0, 0.1)就能突出第3部分;
- autopct就是将sizes中的数据以所定义的浮点精度进行显示;
- startangle 是绘制第 1 块饼图时该饼图与X轴正方向的夹角度数,这里设置为90,如果不设置就默认为0;
- plt.axis(‘equal’)是必不可少的,用于使X轴和Y轴的刻度保持一致,只有这样,最后得到饼图才是圆形的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)