Matplotlib Basics - Drawing Multiple Coordinate Systems

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:

 

Guess you like

Origin blog.csdn.net/m0_72650596/article/details/127027068