實戰(zhàn)小程序:畫出y=x^3的散點圖
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨滄免費建站歡迎大家使用!
樣例代碼如下:
[python]?view plain?copy
#coding=utf-8
import?pylab?as?y????#引入pylab模塊
x?=?y.np.linspace(-10,?10,?100)??#設(shè)置x橫坐標范圍和點數(shù)
y.plot(x,?x*x*x,'or')??#生成圖像
ax?=?y.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',?0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',?0))
ax.set_yticks([-1000,?-500,?500,?1000])
y.xlim(x.min()?,?x.max()?)?#將橫坐標設(shè)置為x的最大值和最小值
y.show()?#顯示圖像
[python]?view plain?copy
import?pylab?as?y
程序中引入的pylab屬于matplotlib的一個模塊,將其名字用y代替,其中包括了許多NumPy和pyplot模塊中常用的函數(shù),方便用戶快速進行計算和繪圖,十分適合在IPython交互式環(huán)境中使用。
[python]?view plain?copy
y.np.linspace(-10,?10,?100)
此為numpy中的一個函數(shù),返回的是等間距的值,numpy.linspace(a,b,c):a指的是開始位置,b表示的是結(jié)束位置,c表示產(chǎn)生點的個數(shù)(默認為50)
舉例:
[python]?view plain?copy
np.linspace(2.0,?3.0,?num=5)
array([?2.??,??2.25,??2.5?,??2.75,??3.??])
[python]?view plain?copy
y.plot(x,?x*x*x,'or')??#生成圖像
后面加上‘o'表示為散點圖
'r'可設(shè)置顏色為紅色,基本上和matlab的操作很像。
[python]?view plain?copy
y.xlim(x.min(),?x.max())
這條語句使用了xlim函數(shù),將橫坐標設(shè)置為x的大小
最常用的是在類定義的方法,給一個property的裝飾器,可以安裝調(diào)用屬性的方式調(diào)用
可以的。這也算多態(tài)的一種,比如: def duck(A):return A.duck() class pop():def duck():return "what does the duck say~" class regular():def duck():return "Quack!" duck(pop)'what does the duck s
用python怎樣畫出如題所示的正余弦函數(shù)圖像? 如此編寫代碼,使其中兩個軸、圖例、刻度,大小,LaTex公式等要素與原圖一致,需要用到的代碼如下,沒有縮進:
#-*-codeing:utf-8;-*-
from matplotlib import pyplot as plt
import numpy as np
a=np.linspace(0,360,980)
b=np.sin(a/180*np.pi)
c=np.cos(a/180*np.pi)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xlim([0, 360])
ax.plot(a,b,label=r"$y=\sin(\theta)$")
ax.plot(a,c,label=r"$y=\cos(\theta)$")
ax.grid(True)
ax.set_ylabel(r"$y$")
ax.set_xlabel(r"$\theta$")
plt.xticks(np.arange(0,360+1,45))
plt.title("Sine Cosine Waves")
plt.legend()
plt.savefig("SinCosWaveDegFont.jpg")
plt.show()
代碼運行show的窗口圖
代碼的截圖
代碼輸出的文件的圖
第一步,打開python語言命令窗口,聲明一個函數(shù)print_color,調(diào)用range遍歷,打印星號,如下圖所示:
第二步,接著調(diào)用第一步中的函數(shù),然后查看打印結(jié)果,可以發(fā)現(xiàn)生成一個三角形,如下圖所示:
第三步,再次定義一個函數(shù)four_tu,利用循環(huán)生成星號,注意查看函數(shù)生成的圖形。
第四步,調(diào)用上述步驟中定義的函數(shù),然后查看打印圖形組合的形狀。
第五步,如果在定義的函數(shù)內(nèi),多次調(diào)用print()方法打印星號,會是什么樣的結(jié)果呢。
第六步,在后續(xù)步驟中,調(diào)用函數(shù)打印結(jié)果,可以發(fā)現(xiàn)生成一個不規(guī)則的圖形。
不寫出y=f(x)這樣的表達式,由隱函數(shù)的等式直接繪制圖像,以x2+y2+xy=1的圖像為例,使用sympy間接調(diào)用matplotlib工具的代碼和該二次曲線圖像如下(注意python里的乘冪符號是**而不是^,還有,python的sympy工具箱的等式不是a==b,而是a-b或者Eq(a,b),這幾點和matlab的區(qū)別很大)
直接在命令提示行的里面運行代碼的效果
from sympy import *;
x,y=symbols('x y');
plotting.plot_implicit(x**2+y**2+x*y-1);