【发布时间】:2021-10-16 01:44:09
【问题描述】:
我用 matplotlib 创建了一个带有数据的图表,我想添加一个背景图像,但数据会根据图像数据而变化。我想要这个在背景上有一个图像,像这样: What I want
所以图形和这段代码创建的图形:
import datetime
import random
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
x = [datetime.datetime(2020, 7, 17, 0, 0) + datetime.timedelta(hours=i) for i in range(24)]
y = [i+random.gauss(0,1) for i,_ in enumerate(x)]
ax = plt.subplot()
ax.plot(x,y, lw=4)
myFmt = mdates.DateFormatter('%H:%M')
plt.gca().xaxis.set_major_formatter(myFmt)
plt.gca().set_axisbelow(True)
plt.gca().grid(color='gray', linestyle='dashed')
plt.savefig("chart.png", transparent=True, dpi=80)
但是当我尝试使用此代码添加图像时:
import datetime
import random
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
x = [datetime.datetime(2020, 7, 17, 0, 0) + datetime.timedelta(hours=i) for i in range(24)]
y = [i+random.gauss(0,1) for i,_ in enumerate(x)]
ax = plt.subplot()
imageFile = cbook.get_sample_data('/root/image.png')
image = plt.imread(imageFile)
ax.imshow(image)
ax.plot(x,y, lw=4)
myFmt = mdates.DateFormatter('%H:%M')
plt.gca().xaxis.set_major_formatter(myFmt)
plt.gca().set_axisbelow(True)
plt.gca().grid(color='gray', linestyle='dashed')
plt.savefig("chart.png", transparent=True, dpi=80)
这给了我这个: Wrong graphic
【问题讨论】:
-
类似
ax.imshow(img, extent=[110, 40, 110, 400], aspect='auto'),但您需要不同的范围值
标签: python matplotlib