代码拉取完成,页面将自动刷新
#!/usr/bin/env python3
#
# linear_function.py
#
from matplotlib.ticker import FuncFormatter
from matplotlib.ticker import MultipleLocator
import matplotlib.pyplot as plt
import numpy as np
def main():
fig, ax = plt.subplots(figsize=(8,8))
ax = configure_axes(ax, 'Linear Function', 10, 10)
x = np.linspace(-4, 4, 100)
y = 2 * x + 3/2
ax.plot(x, y, color='b')
x = np.linspace(-9, 9, 100)
y = - 1/2 * x - 3
ax.plot(x, y, color='r')
ax.text(5, 9, r'$y = 2x + \frac{3}{2}}$', color='b', horizontalalignment='left', verticalalignment='bottom')
ax.text(9, -8, r'$y = -\frac{1}{2}x - 3}$', color='r', horizontalalignment='right', verticalalignment='top')
fig.tight_layout()
plt.show()
# end of main()
def configure_axes(ax, title, xlimit, ylimit, xmajorunit = 5, xminorunit = 1, ymajorunit = 5, yminorunit = 1):
ax.set_title(title, fontsize='xx-large', loc='left')
ax.spines['left'].set_position('zero')
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_visible(False)
ax.text(-0.2, -0.2, 'O', fontsize='x-large', fontstyle='italic', horizontalalignment='right', verticalalignment='top')
xlimit += xmajorunit*0.8
ylimit += ymajorunit*0.8
ax.set_xlim((-xlimit, xlimit))
ax.set_ylim((-ylimit, ylimit))
ax.plot(1, 0, '>k', transform=ax.get_yaxis_transform(), clip_on=False)
ax.xaxis.set_label_text('x')
ax.xaxis.set_label_coords(1.01, 0.48)
ax.xaxis.set_major_formatter(FuncFormatter(lambda w, pos: int(w) if w else ''))
ax.xaxis.set_major_locator(MultipleLocator(xmajorunit))
ax.xaxis.set_minor_locator(MultipleLocator(xminorunit))
ax.xaxis.set_tick_params(which='both', direction='in')
ax.plot(0, 1, '^k', transform=ax.get_xaxis_transform(), clip_on=False)
ax.yaxis.set_label_text('y')
ax.yaxis.set_label_coords(0.48, 1)
ax.yaxis.label.set_rotation(0)
ax.yaxis.set_major_formatter(FuncFormatter(lambda w, pos: int(w) if w else ''))
ax.yaxis.set_major_locator(MultipleLocator(ymajorunit))
ax.yaxis.set_minor_locator(MultipleLocator(yminorunit))
ax.yaxis.set_tick_params(which='both', direction='in')
return ax
# end of configure_axes()
if __name__ == '__main__': main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。