参考博客:
[1]matplotlib命令与格式:设置折线与点属性_开码牛的博客-CSDN博客_matplotlib折线粗细
[2]python - 在 Matplotlib 中为一条线上的各个点设置标记 | 标记
[3]Python matplotlib通过plt.scatter画空心圆标记出特定的点方法_Python_脚本之家
1. 基础绘制
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(20,15)) # 设置绘图大小为20*15
plt.xlabel('time(s)') # 设置x、y轴标签
plt.ylabel('Hight(km)')
plt.ylim((0,11)) # 设置y轴刻度范围为0~11
plt.title('Hight') # 设置绘图标题
plt.plot(time_array_1, hight_array_1, ':sm', time_array_2, hight_array_2, ':vb') # 以time_array为横坐标、hight_array为纵坐标绘制折线图
plt.grid() # 绘制网格
plt.legend(LEGEND) # 绘制图例,LEGEND=['Test 1','Test 2']
plt.annotate('Key Point', (600, 4), xycoords='data', color='r') # 在图上点(600, 4)处添加标注
plt.savefig('Hight.png') # 保存绘图为png图片
plt.show() # 程序运行时显示绘图,且阻止命令继续往下运行,关闭绘图后命令会继续运行
1.2. 坐标轴刻度间隔设置
x_major_locator=MultipleLocator(60) # 把x轴的刻度间隔设置为60,并存在变量里
ax=plt.gca() # ax为两条坐标轴的实例
ax.xaxis.set_major_locator(x_major_locator) # 把x轴的主刻度设置为60的倍数
2. 辅助线绘制
2.1. 绘制关键点
方式一:用plt.scatter()绘制散点图的方式,在某个关键点处添加标记
# 在图上点(600,4)处添加标记
key_point_x = np.array(600)
key_point_y = np.array(4)
plt.scatter(key_point_x, key_point_y, color='', marker='o', edgecolors='r', s=200)
plt.annotate('The key point', (600, 3.7), xycoords='data')
方式二:
xs = np.linspace(-np.pi, np.pi, 30)
ys = np.sin(xs)
markers_on = [12, 17, 18, 19]
plt.plot(xs, ys, '-gD', markevery=markers_on)
plt.show()
2.2. 绘制辅助线
用plt.plot()绘制直线段的方式,在图上添加辅助线
# 在横坐标300、2010处,绘制两条垂直于x轴的辅助线
line_phase_x = np.array([[300, 300], [2010, 2010]])
line_phase_y = np.array([[0, 10], [0, 10]])
for i in range(len(line_phase_x)):
plt.plot(line_phase_x[i], line_phase_y[i], c='r', ls='--', lw=1)
3. 参数设置
3.1. plt.plot()
# 使用虚线和蓝色圆圈标记:
plt.plot(range(10), linestyle='--', marker='o', color='b')
# 快速调用
plt.plot(range(10), '--bo')
3.2. 线条与颜色
以下是可能的线条和标记样式列表:
================ ===============================
character description
================ ===============================
- solid line style
-- dashed line style
-. dash-dot line style
: dotted line style
. point marker
, pixel marker
o circle marker
v triangle_down marker
^ triangle_up marker
< triangle_left marker
> triangle_right marker
1 tri_down marker
2 tri_up marker
3 tri_left marker
4 tri_right marker
s square marker
p pentagon marker
* star marker
h hexagon1 marker
H hexagon2 marker
+ plus marker
x x marker
D diamond marker
d thin_diamond marker
| vline marker
_ hline marker
================ ===============================
matplotlib的基本颜色代码以及颜色对照表 :
blue( b ), cyan( c ), green( g ), black( k ), magenta( m ), red( r ), white( w ), yellow( y )