我正在Django
尝试制作基于网络的蛇形和梯形游戏,我正在使用matplotlib
和mpld3
在网页上创建和显示我的游戏数据。< / p>
我可以在网页上获取我的图像,但它已被反转。
我在这个代码中哪里出错了?
我的views.py文件:
import matplotlib.image as mpimg
import mpld3 as mpld3
import numpy as np
import matplotlib.pyplot as plt
def home(request):
image = mpimg.imread('platform3.png')
figure = plt.figure(dpi=100)
subplot = figure.add_subplot(111)
subplot.set_xlim(0, 10)
subplot.set_ylim(0, 10)
subplot.imshow(image, extent=[0, 10, 0, 10])
canvas = FigureCanvas(figure)
response = django.http.HttpResponse(content_type='image/png')
canvas.print_png(response)
html_gen = 'graph.html'
with open(html_gen, 'w') as f:
f.write(mpld3.fig_to_html(figure))
f.write("Hello")
return render(request, html_gen)
我是否应该提供生成的html_gen.html文件?
答案 0 :(得分:1)
只需将[0, 0]
放在轴的左下角:
subplot.imshow(image, extent=[0, 10, 0, 10], origin='lower')
更新:如何检查并设置默认image.origin
值
检查:
>>> import matplotlib as mpl
>>> print(mpl.rcParams['image.origin'])
upper
将lower
设为默认值(docs):
$ echo "image.origin : lower" >> .config/matplotlib/matplotlibrc
再次检查:
>>> import matplotlib as mpl
>>> print(mpl.rcParams['image.origin'])
upper