新聞中心
python畫正余弦函數(shù)圖像?
用python怎樣畫出如題所示的正余弦函數(shù)圖像? 如此編寫代碼,使其中兩個(gè)軸、圖例、刻度,大小,LaTex公式等要素與原圖一致,需要用到的代碼如下,沒有縮進(jìn):
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括富川網(wǎng)站建設(shè)、富川網(wǎng)站制作、富川網(wǎng)頁制作以及富川網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,富川網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到富川省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
#-*-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()
代碼運(yùn)行show的窗口圖
代碼的截圖
代碼輸出的文件的圖
不能直接寫出函數(shù)的表達(dá)式 怎么在python里畫函數(shù)圖象呢?
不寫出y=f(x)這樣的表達(dá)式,由隱函數(shù)的等式直接繪制圖像,以x2+y2+xy=1的圖像為例,使用sympy間接調(diào)用matplotlib工具的代碼和該二次曲線圖像如下(注意python里的乘冪符號是**而不是^,還有,python的sympy工具箱的等式不是a==b,而是a-b或者Eq(a,b),這幾點(diǎn)和matlab的區(qū)別很大)
直接在命令提示行的里面運(yùn)行代碼的效果
from sympy import *;
x,y=symbols('x y');
plotting.plot_implicit(x**2+y**2+x*y-1);
python繪制函數(shù)圖像
raw_input獲取的輸入是字符串,不能直接用np.array,需要用split進(jìn)行切分,然后強(qiáng)制轉(zhuǎn)化成數(shù)值類型,才能用plot函數(shù)
我把你的代碼稍微修改了一下,可能不太漂亮,不過能運(yùn)行了
x=[1,2,3]
a = raw_input('function')
a = a.split(' ')#依空格對字符串a(chǎn)進(jìn)行切分,如果是用逗號分隔,則改成a.split(',')
b = []
for i in range(len(a)):#把切分好的字符強(qiáng)制轉(zhuǎn)化成int類型,如果是小數(shù),將int改為float
b.append(int(a[i]))
plt.plot(x, b, label='x', color="green", linewidth=1)
當(dāng)前標(biāo)題:求函數(shù)圖像Python,求函數(shù)圖像解析式
本文地址:http://fisionsoft.com.cn/article/heghpp.html