介绍一下使用 matplotlib.pyplot 模块绘制图像时,图像的常用属性设置。
1.模块导入
import matplotlib.pyplot as plt
plt.plot(x, y, **kwargs)
2.设置线的属性
-
pyplot可以设置线的很多属性,如线宽/虚线样式/抗锯齿等。
-
以下是几种设置线的属性的实现方式:
- 使用 **kwargs 关键字设置:如 plt.plot(x, y, linewidth=)
, color=‘r’) - 使用 setp() 函数统一设置线的属性,如:
lines = plt.plot(x1, y1, x2, y2) plt.setp(lines, color='r', linewidth=2.0) - 使用 **kwargs 关键字设置:如 plt.plot(x, y, linewidth=)
3. Line2D的属性
| 属性 | 代表含义 | 取值 | 备注 |
|---|---|---|---|
| alpha | 透明度 | float | 1.0表示不透明 |
| color or c | 颜色 | any matplotlib color | 颜色取值见附录一 |
| label | 图例 | any string | 应配合legend()使用 |
| linestyle or ls | 线的类型 | ‘-’ ‘–’ ‘-.’ ‘:’ | |
| linewidth | 线宽 | float | 像素值,值不能加引号 |
| marker | 数据点标记 | ‘.’, ‘,’, ‘o’, ‘v’, ‘^’, ‘<’, ‘>’, ‘1’, ‘2’, ‘3’, ‘4’, ‘s’, ‘p’, ‘*’, ‘h’, ‘H’, ‘+’, ‘D’, ‘d’, ‘|’, ‘_’ |
4.设置图形属性
-
制定图例的显示位置:legend(loc=‘upper left’, *args)。
- loc 可取的值有:
string 对应数字 ‘best’ 0 ‘upper right’ 1 ‘upper left’ 2 ‘lower left’ 3 ‘lower right’ 4 ‘right’ 5 ‘center left’ 6 ‘center right’ 7 ‘lower center’ 8 ‘upper center’ 9 ‘center’ 10 -
设置x、y坐标轴的范围:xlim(xmin, xmax), ylim(ymin, ymax)
plt.xlim(x.min() - 0.2, x.max() + 0.2)
plt.ylim(y.min() - 0.2, y.max() + 0.2)
- 设置坐标轴标记:plt.xticks(locs, [labels], **kwargs), plt.yticks(locs, [labels], **kwargs)
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])
plt.yticks([-1, 0, +1])
- 对图中一些特殊点做标记: annotate(),详使用可参照源码
plt.annotate(r'$\cos(\frac{2\pi}{3})=-\frac{1}{2}$',
xy=(t, np.cos(t)), xycoords='data',
xytext=(-90, -50), textcoords='offset points', fontsize=16,
arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
- 设置图像的大小/分辨率等:figure(**kwargs), kwargs可选值如下:
| 参数 | 描述 |
|---|---|
| num | 图像的数量 |
| figsize | 图像的长和宽(英寸) |
| dpi | 分辨率(点/英寸) |
| facecolor | 绘图区域的背景颜色 |
| edgecolor | 绘图区域边缘的颜色 |
| frameon | 是否绘制图像边缘 |
附录一:matplotlib color值
| 颜色名称 | RGB表示 |
|---|---|
| ‘aliceblue’ | ‘#F0F8FF’, |
| ‘antiquewhite’ | ‘#FAEBD7’, |
| ‘aqua’ | ‘#00FFFF’, |
| ‘aquamarine’ | ‘#7FFFD4’, |
| ‘azure’ | ‘#F0FFFF’, |
| ‘beige’ | ‘#F5F5DC’, |
| ‘bisque’ | ‘#FFE4C4’, |
| ‘black’ | ‘#000000’, |
| ‘blanchedalmond’ | ‘#FFEBCD’, |
| ‘blue’ | ‘#0000FF’, |
| ‘blueviolet’ | ‘#8A2BE2’, |
| ‘brown’ | ‘#A52A2A’, |
| ‘burlywood’ | ‘#DEB887’, |
| ‘cadetblue’ | ‘#5F9EA0’, |
| ‘chartreuse’ | ‘#7FFF00’, |
| ‘chocolate’ | ‘#D2691E’, |
| ‘coral’ | ‘#FF7F50’, |
| ‘cornflowerblue’ | ‘#6495ED’, |
| ‘cornsilk’ | ‘#FFF8DC’, |
| ‘crimson’ | ‘#DC143C’, |
| ‘cyan’ | ‘#00FFFF’, |
| ‘darkblue’ | ‘#00008B’, |
| ‘darkcyan’ | ‘#008B8B’, |
| ‘darkgoldenrod’ | ‘#B8860B’, |
| ‘darkgray’ | ‘#A9A9A9’, |
| ‘darkgreen’ | ‘#006400’, |
| ‘darkkhaki’ | ‘#BDB76B’, |
| ‘darkmagenta’ | ‘#8B008B’, |
| ‘darkolivegreen’ | ‘#556B2F’, |
| ‘darkorange’ | ‘#FF8C00’, |
| ‘darkorchid’ | ‘#9932CC’, |
| ‘darkred’ | ‘#8B0000’, |
| ‘darksalmon’ | ‘#E9967A’, |
| ‘darkseagreen’ | ‘#8FBC8F’, |
| ‘darkslateblue’ | ‘#483D8B’, |
| ‘darkslategray’ | ‘#2F4F4F’, |
| ‘darkturquoise’ | ‘#00CED1’, |
| ‘darkviolet’ | ‘#9400D3’, |
| ‘deeppink’ | ‘#FF1493’, |
| ‘deepskyblue’ | ‘#00BFFF’, |
| ‘dimgray’ | ‘#696969’, |
| ‘dodgerblue’ | ‘#1E90FF’, |
| ‘firebrick’ | ‘#B22222’, |
| ‘floralwhite’ | ‘#FFFAF0’, |
| ‘forestgreen’ | ‘#228B22’, |
| ‘fuchsia’ | ‘#FF00FF’, |
| ‘gainsboro’ | ‘#DCDCDC’, |
| ‘ghostwhite’ | ‘#F8F8FF’, |
| ‘gold’ | ‘#FFD700’, |
| ‘goldenrod’ | ‘#DAA520’, |
| ‘gray’ | ‘#808080’, |
| ‘green’ | ‘#008000’, |
| ‘greenyellow’ | ‘#ADFF2F’, |
| ‘honeydew’ | ‘#F0FFF0’, |
| ‘hotpink’ | ‘#FF69B4’, |
| ‘indianred’ | ‘#CD5C5C’, |
| ‘indigo’ | ‘#4B0082’, |
| ‘ivory’ | ‘#FFFFF0’, |
| ‘khaki’ | ‘#F0E68C’, |
| ‘lavender’ | ‘#E6E6FA’, |
| ‘lavenderblush’ | ‘#FFF0F5’, |
| ‘lawngreen’ | ‘#7CFC00’, |
| ‘lemonchiffon’ | ‘#FFFACD’, |
| ‘lightblue’ | ‘#ADD8E6’, |
| ‘lightcoral’ | ‘#F08080’, |
| ‘lightcyan’ | ‘#E0FFFF’, |
| ‘lightgoldenrodyellow’ | ‘#FAFAD2’, |
| ‘lightgreen’ | ‘#90EE90’, |
| ‘lightgray’ | ‘#D3D3D3’, |
| ‘lightpink’ | ‘#FFB6C1’, |
| ‘lightsalmon’ | ‘#FFA07A’, |
| ‘lightseagreen’ | ‘#20B2AA’, |
| ‘lightskyblue’ | ‘#87CEFA’, |
| ‘lightslategray’ | ‘#778899’, |
| ‘lightsteelblue’ | ‘#B0C4DE’, |
| ‘lightyellow’ | ‘#FFFFE0’, |
| ‘lime’ | ‘#00FF00’, |
| ‘limegreen’ | ‘#32CD32’, |
| ‘linen’ | ‘#FAF0E6’, |
| ‘magenta’ | ‘#FF00FF’, |
| ‘maroon’ | ‘#800000’, |
| ‘mediumaquamarine’ | ‘#66CDAA’, |
| ‘mediumblue’ | ‘#0000CD’, |
| ‘mediumorchid’ | ‘#BA55D3’, |
| ‘mediumpurple’ | ‘#9370DB’, |
| ‘mediumseagreen’ | ‘#3CB371’, |
| ‘mediumslateblue’ | ‘#7B68EE’, |
| ‘mediumspringgreen’ | ‘#00FA9A’, |
| ‘mediumturquoise’ | ‘#48D1CC’, |
| ‘mediumvioletred’ | ‘#C71585’, |
| ‘midnightblue’ | ‘#191970’, |
| ‘mintcream’ | ‘#F5FFFA’, |
| ‘mistyrose’ | ‘#FFE4E1’, |
| ‘moccasin’ | ‘#FFE4B5’, |
| ‘navajowhite’ | ‘#FFDEAD’, |
| ‘navy’ | ‘#000080’, |
| ‘oldlace’ | ‘#FDF5E6’, |
| ‘olive’ | ‘#808000’, |
| ‘olivedrab’ | ‘#6B8E23’, |
| ‘orange’ | ‘#FFA500’, |
| ‘orangered’ | ‘#FF4500’, |
| ‘orchid’ | ‘#DA70D6’, |
| ‘palegoldenrod’ | ‘#EEE8AA’, |
| ‘palegreen’ | ‘#98FB98’, |
| ‘paleturquoise’ | ‘#AFEEEE’, |
| ‘palevioletred’ | ‘#DB7093’, |
| ‘papayawhip’ | ‘#FFEFD5’, |
| ‘peachpuff’ | ‘#FFDAB9’, |
| ‘peru’ | ‘#CD853F’, |
| ‘pink’ | ‘#FFC0CB’, |
| ‘plum’ | ‘#DDA0DD’, |
| ‘powderblue’ | ‘#B0E0E6’, |
| ‘purple’ | ‘#800080’, |
| ‘red’ | ‘#FF0000’, |
| ‘rosybrown’ | ‘#BC8F8F’, |
| ‘royalblue’ | ‘#4169E1’, |
| ‘saddlebrown’ | ‘#8B4513’, |
| ‘salmon’ | ‘#FA8072’, |
| ‘sandybrown’ | ‘#FAA460’, |
| ‘seagreen’ | ‘#2E8B57’, |
| ‘seashell’ | ‘#FFF5EE’, |
| ‘sienna’ | ‘#A0522D’, |
| ‘silver’ | ‘#C0C0C0’, |
| ‘skyblue’ | ‘#87CEEB’, |
| ‘slateblue’ | ‘#6A5ACD’, |
| ‘slategray’ | ‘#708090’, |
| ‘snow’ | ‘#FFFAFA’, |
| ‘springgreen’ | ‘#00FF7F’, |
| ‘steelblue’ | ‘#4682B4’, |
| ‘tan’ | ‘#D2B48C’, |
| ‘teal’ | ‘#008080’, |
| ‘thistle’ | ‘#D8BFD8’, |
| ‘tomato’ | ‘#FF6347’, |
| ‘turquoise’ | ‘#40E0D0’, |
| ‘violet’ | ‘#EE82EE’, |
| ‘wheat’ | ‘#F5DEB3’, |
| ‘white’ | ‘#FFFFFF’, |
| ‘whitesmoke’ | ‘#F5F5F5’, |
| ‘yellow’ | ‘#FFFF00’, |
| ‘yellowgreen’ | ‘#9ACD32’} |

本文详细介绍使用matplotlib.pyplot模块绘制图像时,如何设置线的属性、图形属性、坐标轴范围及标记等,包括线宽、颜色、透明度、图例位置、坐标轴标记和特殊点标注的方法。
830

被折叠的 条评论
为什么被折叠?



