Matplotlib Basics - Drawing Multiple Coordinate Systems
import matplotlib.pyplot as plt import matplotlib.font_manager as fm import random # set font f = "/System/Library/Fonts/PingFang.ttc" prop = fm.FontProperties(fname=f) plt.rcParams['axes.unicode_minus']=False # generate data x = list(range(60)) y_beijing = [random.uniform(10,15) for i in x] y_shanghai = [random.uniform(15,25) for i in x] ## Display images in multiple coordinate systems # 1. Create the canvas fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20,8), dpi=100) # 2. Graphic drawing axes[0].plot(x,y_beijing, label="BeiJing", color="g", linestyle="-.") axes[1].plot(x,y_shanghai, label="ShangHai") # 2.1 Add x, y axis scale y_ticks = range(40) x_ticks_label = ["11点{}分".format(i) for i in x] axes[0].set_xticks(x[::5]) axes[0].set_yticks(y_ticks[::5]) axes[0].set_xticklabels(x_ticks_label[::5],fontproperties=prop) axes[1].set_xticks(x[::5]) axes[1].set_yticks(y_ticks[::5]) axes[1].set_xticklabels(x_ticks_label[::5],fontproperties=prop) # 2.2 Add grid axes[0].grid(True, linestyle="--", alpha=0.2) axes[1].grid(True, linestyle="--", alpha=0.2) # 2.3 Add description information axes[0].set_xlabel("time", fontproperties=prop) axes[0].set_ylabel("温度",fontproperties=prop) axes[0].set_title("One-hour temperature change map in Beijing", fontproperties=prop) axes[1].set_xlabel("time", fontproperties=prop) axes[1].set_ylabel("温度",fontproperties=prop) axes[1].set_title("One-hour temperature change map of Shanghai", fontproperties=prop) # 2.4 Display legend axes[0].legend(loc="best") axes[1].legend(loc="best") # 3. Image display plt.show()
The drawn image is: