Matplotlib从零开始画图(三)
matplotlib.pyplot.subplots(nrows=1, ncols=1, **fig_ kw)创建一个 带有多个axes(坐标系/绘图区)的图
基本参数 1 2 3 4 5 6 7 8 9 10 11 Parameters: nrows, ncols :设置有几行几列坐标系 int , optional, default: 1 , Number of rows/columns of the subplot grid.Returns: fig :图对象 axes :返回相应数量的坐标系 设置标题等方法不同: set_ xticks set_ _yticks set_ xlabel set_ ylabel
代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 import matplotlib.pyplot as pltimport randomx = range (60 ) y_shanghai = [random.uniform(45 , 18 ) for i in x] y_beijing = [random.uniform(1 , 5 ) for i in x] fig, axes = plt. subplots (nrows=1 , ncols=2 , figsize=(20 , 8 ),dpi=100 ) axes [0 ].plot(x, y_shanghai, label=" 上海" ) axes[1 ].plot(x, y_beijing, color="r" , linestyle="--" , label="北京" ) x_ticks_label = ["11点{}分" . format (i) for i in x] y_ticks = range (40 ) axes[0 ].set_xticks(x[::5 ]) axes[0 ].set_yticks(y_ticks[::5 ]) axes[0 ].set_xticklabels(x_ticks_label[::5 ]) axes[1 ].set_xticks(x[::5 ]) axes[1 ].set_yticks(y_ticks[::5 ]) axes [1 ].set_xticklabels(x_ticks_label[::5 ]) axes [0 ]. grid(True , linestyle="--" , alpha=0.5 ) axes [1 ]. grid(True , linestyle="--" , alpha=0.5 ) axes [0 ].set_xlabel("时间" ) axes [0 ].set_ylabel("温度" ) axes[0 ].set_title("中午11点--12点某城市温度变化图" ,fontsize=20 ) axes[1 ].set_xlabel("时间" ) axes[1 ].set_ylabel("温度" ) axes [1 ].set_title("中午11点--12点某城市温度变化图" ,fontsize=20 ) axes [0 ]. legend(loc=0 ) axes [1 ]. legend(loc=0 ) plt. show()
画图结果
数学函数绘图 导入包:
1 2 import matplotlib.pyplot as pltimport numpy as np
画图代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 x = np.linspace(-10 ,10 ,1000 ) y = np.sin(x) plt.figure(figsize = (20 ,8 ),dpi = 100 ) plt.plot(x,y) plt.grid() plt.show()
画图结果:
画图小结: ·添加x,y轴刻度
plt.xticks()
plt.yticks()
注意:在传递进去的第一个参数必须是数字不能是字符串,如果是字符,需要进行替换操作
添加网格显示
plt.grid(inestyle="--" ,alpha=0.5)
·添加描述信息
plt.xlabel()
plt.ylabel()
plt.title()
·图像保存
plt.savefig("路径")
显示图例
plt.legend(loc="best")
注意:一定要在plt.plot()里面设置-个label,如果不设置,没法显示
·多个坐标系显示
plt.subplots(nrows=, ncols=)