fig,axes = plt.subplots(nrows =6, ncols = 2, figsize = (20,30))
这是我的子图集。我正在绘制一些数据。一小段是:
'2018':[0.31,10.49,39.2,12.58,138.21,94.55,60.97,103.4,95.59,74.85,22.48,6.45],
'2019':[21.6,8.2,5,16.6,177.7,174.1,338.6,216.7,353.3,546.9,138.9,33]
我希望数据具有可比性,但是y轴的范围不相同。我该怎么做?
答案 0 :(得分:0)
我希望数据具有可比性
import matplotlib.pyplot as plt
dt = {
'2018':[0.31,10.49,39.2,12.58,138.21,94.55,60.97,103.4,95.59,74.85,22.48,6.45],
'2019':[21.6,8.2,5,16.6,177.7,174.1,338.6,216.7,353.3,546.9,138.9,33]
}
x = [i for i, d in enumerate(list(dt.values())[0])]
plt.plot(x, *list(dt.values()))
plt.show()
import matplotlib.pyplot as plt
import random
import math
dt = {
'2001':[0.31,10.49,39.2,12.58,138.21,94.55,60.97,103.4,95.59,74.85,22.48,6.45],
'2002':[21.6,8.2,5,16.6,177.7,174.1,338.6,216.7,353.3,546.9,138.9,33],
'2003':[0.31,10.49,39.2,12.58,138.21,94.55,60.97,103.4,95.59,74.85,22.48,6.45],
'2004':[21.6,8.2,5,16.6,177.7,174.1,338.6,216.7,353.3,546.9,138.9,33],
'2005':[0.31,10.49,39.2,12.58,138.21,94.55,60.97,103.4,95.59,74.85,22.48,6.45],
'2006':[21.6,8.2,5,16.6,177.7,174.1,338.6,216.7,353.3,546.9,138.9,33],
}
def random_color():
return "#%06x" % random.randint(0, 0xFFFFFF)
x = [i for i, d in enumerate(list(dt.values())[0])]
dts = []
for i in list(dt.values()):
dts += i
min_dt = min(dts)
max_dt = max(dts)
sqr = math.ceil(math.sqrt(len(dt)))
counter = 0
for k, v in dt.items():
plt.subplot(sqr, sqr, counter+1)
plt.title(k)
plt.ylim(min_dt, max_dt)
plt.plot(x, list(dt.values())[counter], color=random_color())
counter += 1
plt.tight_layout()
plt.show()