كيف يمكنني تحديد حجم الحدود على الرسم البياني matplotlib؟
-
05-07-2019 - |
سؤال
وأنا جعل بعض الرسوم البيانية كبيرة جدا، وبيضاء في الحدود هو تناول الكثير من وحدات البكسل التي من شأنها أن تكون أفضل المستخدمة من قبل البيانات. ويبدو أن الحدود ينمو كما ينمو الرسم البياني.
وهنا الشجاعة من التعليمات البرمجية الرسوم البيانية بلدي:
import matplotlib
from pylab import figure
fig = figure()
ax = fig.add_subplot(111)
ax.plot_date((dates, dates), (highs, lows), '-', color='black')
ax.plot_date(dates, closes, '-', marker='_', color='black')
ax.set_title('Title')
ax.grid(True)
fig.set_figheight(96)
fig.set_figwidth(24)
هل هناك طريقة لتقليل حجم الحدود؟ ربما وضع في مكان ما من شأنه أن يسمح لي للحفاظ على الحدود في ثابتة 2 بوصة أو نحو ذلك؟
المحلول
ومنذ يبدو أنك كنت فقط باستخدام حبكة فرعية واحدة، قد ترغب في تخطي add_subplot
والذهاب مباشرة إلى <لأ href = "http://matplotlib.sourceforge.net/api/figure_api.html#matplotlib.figure .Figure.add_axes "يختلط =" noreferrer "> add_axes
. هذا سيسمح لك لإعطاء حجم محاور (في إحداثيات الرقم النسبي)، حتى تتمكن من جعلها كبيرة كما تريد ضمن هذا الرقم. في حالتك، فإن هذا يعني أن التعليمات البرمجية تبدو شيء من هذا القبيل
import matplotlib.pyplot as plt
fig = plt.figure()
# add_axes takes [left, bottom, width, height]
border_width = 0.05
ax_size = [0+border_width, 0+border_width,
1-2*border_width, 1-2*border-width]
ax = fig.add_axes(ax_size)
ax.plot_date((dates, dates), (highs, lows), '-', color='black')
ax.plot_date(dates, closes, '-', marker='_', color='black')
ax.set_title('Title')
ax.grid(True)
fig.set_figheight(96)
fig.set_figwidth(24)
إذا أردت، يمكنك حتى وضع المعلمات إلى set_figheight
/ set_figwidth
مباشرة في الدعوة figure()
.
نصائح أخرى
subplots_adjust
API:
وsubplots_adjust (* سائط **، kwargs)
وfig.subplots_adjust (يسار = بلا، أسفل = بلا، والحق = بلا، wspace = بلا، hspace = بلا)
وتحديث SubplotParams مع kwargs (التخلف إلى الصليب الأحمر حيث لا يوجد) وتحديث المواقع حبكة فرعية
اقتباس فقرة>