新聞中心
使用Python畫出一個(gè)三維的函數(shù)圖像,數(shù)據(jù)來自于一個(gè)Excel表格?
raw_input獲取的輸入是字符串,不能直接用np.array,需要用split進(jìn)行切分,然后強(qiáng)制轉(zhuǎn)化成數(shù)值類型,才能用plot函數(shù)
公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出連城免費(fèi)做網(wǎng)站回饋大家。
我把你的代碼稍微修改了一下,可能不太漂亮,不過能運(yùn)行了
x=[1,2,3]
a
=
raw_input('function')
a
=
a.split('
')#依空格對(duì)字符串a(chǎn)進(jìn)行切分,如果是用逗號(hào)分隔,則改成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)
c4d怎么用python畫三維圖
要以Python生成器為媒介。
用以下代碼可以簡(jiǎn)單行程一個(gè)三維圖,在這個(gè)基礎(chǔ)上根據(jù)您的需要改寫代碼就可以了。
在生成器內(nèi)的python代碼會(huì)生成一個(gè)object。默認(rèn)下,生成了一個(gè)立方體,并返回:
import c4d
def main():
return c4d.BaseObject(c4d.Ocube)
UserData輸入
當(dāng)然也可以返回別的物體,或者用userdata調(diào)整物體參數(shù)。注意op可以快速引用生成器對(duì)象。
importc4d
defmain():
cone =c4d.BaseObject(c4d.Ocone)
cone[c4d.PRIM_CONE_TRAD] = op[c4d.ID_USERDATA,1]
return cone
具體創(chuàng)建三維圖步驟如下
1首先要【創(chuàng)建】-【造型】-【python生成器】,默認(rèn)生成一個(gè)立方體即python編輯器
2-選中對(duì)象,右下角【打開python編輯器】
3-代碼表示定義一個(gè)函數(shù)并返回C4D基本物體
4-這里簡(jiǎn)單改一下,把原代碼中的Ocube改成Osphere,點(diǎn)一下執(zhí)行,會(huì)生成一個(gè)三維球體。對(duì)于基本造型對(duì)象,這里的對(duì)象名稱通用語法為大寫字母O加對(duì)象的英文。
5-這里還可以用定義變量返回值的表達(dá)方法,比如這里定義變量cone(圓錐),c4d的屬性就是大寫字母O加上圓錐的英文即Ocone,返回這個(gè)變量值,執(zhí)行就得到了一個(gè)圓錐。
6-除了生成基本三維圖形,python編輯器可以做很多事情,這里如果有一定的python編碼基礎(chǔ),會(huì)更容易一些??梢栽诰W(wǎng)上找?guī)讉€(gè)實(shí)例試一下,比如這種,生成數(shù)字的??梢栽谒阉饕孑斎腙P(guān)鍵字Cinema 4D - Python scripts來檢索別人寫好的腳本。
python 怎樣數(shù)據(jù)可視化 3d
import?random
import?numpy?as?np
import?matplotlib?as?mpl
import?matplotlib.pyplot?as?plt
import?matplotlib.dates?as?mdates
from?mpl_toolkits.mplot3d?import?Axes3D
mpl.rcParams['font.size']?=?10
fig?=?plt.figure()
ax?=?fig.add_subplot(111,?projection='3d')
for?z?in?[2011,?2012,?2013,?2014]:
xs?=?xrange(1,13)
ys?=?1000?*?np.random.rand(12)
color?=plt.cm.Set2(random.choice(xrange(plt.cm.Set2.N)))
ax.bar(xs,?ys,?zs=z,?zdir='y',?color=color,?alpha=0.8)
ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs))
ax.yaxis.set_major_locator(mpl.ticker.FixedLocator(ys))
ax.set_xlabel('Month')
ax.set_ylabel('Year')
ax.set_zlabel('Sales?Net?[usd]')
plt.show()
效果圖:
利用ptyhon?matplotlib 3D函數(shù)可以畫出一些3D視覺圖
python函數(shù)圖的繪制
pre
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
return -(x-2)*(x-8)+40
x=np.linspace(0,10)
y=func(x)
fig,ax = plt.subplots()
plt.plot(x,y,'r',linewidth=2)
plt.ylim(ymin=20)
a=2
b=9
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
ax.set_yticks([])
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)]+list(ixy)+[(b,0)]
poly = Polygon(verts,facecolor='0.9',edgecolor='0.5')
ax.add_patch(poly)
x_math=(a+b)*0.5
y_math=35
plt.text(x_math,y_math,r"$\int_a^b(-(x-2)*(x-8)+40)dx$",horizontalalignment='center',size=12)
plt.show()
/pre
python 繪制三維圖形、三維數(shù)據(jù)散點(diǎn)圖
1. 繪制3D曲面圖
from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig=plt.figure()
ax=Axes3D(fig)
x=np.arange(-4,4,0.25)
y=np.arange(-4,4,0.25)
x,y=np.meshgrid(x,y)
r=np.sqrt(x**2, y**2)
z=np.sin(r)
//繪面函數(shù)
ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap=“rainbow”
plt.show()
2.繪制三維的散點(diǎn)圖(表述一些數(shù)據(jù)點(diǎn)分布)
4a.mat數(shù)據(jù)地址:http blog.csdn.net/eddy_zhang/article/details/50496164
from matplotlib import pyplot as plt
import scipy.io as sio
from mpl_toolkits.mplot3d import Axes3D
matl=‘4a.mat’
data=sio.loadmat(matl)
m=data[‘data’]
x,y,z=m[0],m[1],m[2]
//創(chuàng)建一個(gè)繪圖工程
ax=plt.subplot(111,project=‘3D’)
//將數(shù)據(jù)點(diǎn)分成三部分畫,在顏色上有區(qū)分度
ax.scatter(x[:1000], y[:1000], z[:1000],c=‘y’ )//繪制數(shù)據(jù)點(diǎn)
ax.scatter(x[1000:4000], y[1000:4000], z[1000:4000],c=‘r’ )//繪制數(shù)據(jù)點(diǎn)
ax.scatter(x[4000:], y[4000:], z[4000:],c=‘g’ )//繪制數(shù)據(jù)點(diǎn)
ax.set_zlable(‘z’)//坐標(biāo)軸
ax.set_ylable(‘y’)//坐標(biāo)軸
ax.set_xlable(‘x’)
plt.show()
分享題目:python畫三維函數(shù)圖,Python三維繪圖
分享鏈接:http://fisionsoft.com.cn/article/hcocse.html