gpt4 book ai didi

python - 在 matplotlib 中向 x y 轴添加偏移量

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:25 26 4
gpt4 key购买 nike

我正在用 django 编写一个 View ,它发送 pdf 文件作为响应。 Pdf 有一个使用 matplotlib 完成的日期值的折线图。该图看起来与此非常相似 one .

如果我的最大 y 数据点为 1000,则图形触及我不想要的顶部 x 轴。例如,请参见此图。

enter image description here .

在 (3.0,4.0) 处,折线图触及顶部 x 轴。

我想给 yaxis 一些额外的空间(即将 max-y 读数增加到 1100),以便我的图表看起来不错,如第一张图片所示。

我该怎么做?

from matplotlib.backends.backend_pdf import FigureCanvasPdf
from matplotlib.figure import Figure
from matplotlib.dates import DateFormatter
r_name = request.GET.get('r_name')
index_id = request.GET.get('index_id')
resp = api_views.historical_observations(request,index_id)
data = resp.data.get('data')
x,y=[],[]
for datam in data:
x.append(datam.get('measurement_date'))
y.append(datam.get('value'))
fig=Figure()
ax=fig.add_subplot(111)
ax.set_title(r_name)
ax.plot_date(x, y, '-bo')
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
fig.autofmt_xdate()
canvas=FigureCanvasPdf(fig)
response= HttpResponse(content_type='application/pdf')
filename = settings.PDF_FILE_PREFIX+"_"+r_name+"_"+request.GET.get('start_date')+"_" +\
request.GET.get('end_date')+".pdf"
response['Content-Disposition'] = "attachment; filename="+filename
canvas.print_pdf(response)
return response

最佳答案

试试:
ax.set_ymargin(0.1)(接受从 0 到 1 的 float )
或者
ax.set_ylim([min(y)-1, max(Y)+1])

将 1 更改为使情节看起来不错的内容。这将取决于您正在绘制的内容的规模。对于 ylim 你可以通过乘以 0.9\1.1 来进行百分比调整

关于python - 在 matplotlib 中向 x y 轴添加偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com