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
為避免中文顯示出錯,需導入matplotlib.pylab庫
1.2.1 確定數據
1.2.2 創建畫布
1.2.3 添加標題
1.2.4 添加x,y軸名稱
1.2.5 添加x,y軸范圍
1.2.6 添加x,y軸刻度
1.2.7 繪制曲線、圖例, 并保存圖片
保存圖片時,dpi為清晰度,數值越高越清晰。請注意,函數結尾處,必須加plt.show(),不然圖像不顯示。
繪制流程與繪制不含子圖的圖像一致,只需注意一點:創建畫布。
合理調整figsize、dpi,可避免出現第一幅圖橫軸名稱與第二幅圖標題相互遮蓋的現象.
2.2.1 rc參數類型
2.2.2 方法1:使用rcParams設置
2.2.3 方法2:plot內設置
2.2.4 方法3:plot內簡化設置
方法2中,線條形狀,linestyle可簡寫為ls;線條寬度,linewidth可簡寫為lw;線條顏色,color可簡寫為c,等等。
可以插函數。turtle.setup(700,700,100,100)#setup()設置窗體大小,后兩個參數可選,該函數也不是必須的
turtle.speed(10)#設置畫筆移到速度,參數值為0-10,數字越大,速度越大
turtle.pensize(10)#設置畫筆尺寸大小
turtle.pencolor(‘green‘)#設置畫筆顏色
turtle.penup()#將畫筆抬起(抬起時移到畫筆將不會在畫布留下痕跡)
turtle.goto(0,190)#將畫筆移到(x,y)
turtle.pendown()#將畫筆落下
turtle.circle(80,360)#畫圓,半徑為正表示圓心在畫筆左邊
1,xlable,ylable設置x,y軸的標題文字。
2,title設置標題。
3,xlim,ylim設置x,y軸顯示范圍。
plt.show()顯示繪圖窗口,通常情況下,show()會阻礙程序運行,帶-wthread等參數的環境下,窗口不會關閉。
plt.saveFig()保存圖像。
面向對象繪圖
1,當前圖表和子圖可以用gcf(),gca()獲得。
subplot()繪制包含多個圖表的子圖。
configure subplots,可調節子圖與圖表邊框距離。
可以通過修改配置文件更改對象屬性。
圖標顯示中文
1,在程序中直接指定字體。
2, 在程序開始修改配置字典reParams.
3,修改配置文件。
Artist對象
1,圖標的繪制領域。
2,如何在FigureCanvas對象上繪圖。
3,如何使用Renderer在FigureCanvas對象上繪圖。
FigureCanvas和Render處理底層圖像操作,Artist處理高層結構。
分為簡單對象和容器對象,簡單的Aritist是標準的繪圖元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器類型包含許多簡單的的 Aritist對象,使他們構成一個整體,例如Axis,Axes,Figure等。
直接創建Artist對象進項繪圖操作步奏:
1,創建Figure對象(通過figure()函數,會進行許多初始化操作,不建議直接創建。)
2,為Figure對象創建一個或多個Axes對象。
3,調用Axes對象的方法創建各類簡單的Artist對象。
Figure容器
如何找到指定的Artist對象。
1,可調用add_subplot()和add_axes()方法向圖表添加子圖。
2,可使用for循環添加柵格。
3,可通過transform修改坐標原點。
Axes容器
1,patch修改背景。
2,包含坐標軸,坐標網格,刻度標簽,坐標軸標題等內容。
3,get_ticklabels(),,get-ticklines獲得刻度標簽和刻度線。
1,可對曲線進行插值。
2,fill_between()繪制交點。
3,坐標變換。
4,繪制陰影。
5,添加注釋。
1,繪制直方圖的函數是
2,箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用數據中的五個統計量:最小值、第一四分位
數、中位數、第三四分位數與最大值來描述數據的一種方法,它可以粗略地看出數據是否具有對稱性以及分
布的分散程度等信息,特別可以用于對幾個樣本的比較。
3,餅圖就是把一個圓盤按所需表達變量的觀察數劃分為若干份,每一份的角度(即面積)等價于每個觀察
值的大小。
4,散點圖
5,QQ圖
低層繪圖函數
類似于barplot(),dotchart()和plot()這樣的函數采用低層的繪圖函數來畫線和點,來表達它們在頁面上放置的位置以及其他各種特征。
在這一節中,我們會描述一些低層的繪圖函數,用戶也可以調用這些函數用于繪圖。首先我們先講一下R怎么描述一個頁面;然后我們講怎么在頁面上添加點,線和文字;最后講一下怎么修改一些基本的圖形。
繪圖區域與邊界
R在繪圖時,將顯示區域劃分為幾個部分。繪制區域顯示了根據數據描繪出來的圖像,在此區域內R根據數據選擇一個坐標系,通過顯示出來的坐標軸可以看到R使用的坐標系。在繪制區域之外是邊沿區,從底部開始按順時針方向分別用數字1到4表示。文字和標簽通常顯示在邊沿區域內,按照從內到外的行數先后顯示。
添加對象
在繪制的圖像上還可以繼續添加若干對象,下面是幾個有用的函數,以及對其功能的說明。
?points(x, y, ...),添加點
?lines(x, y, ...),添加線段
?text(x, y, labels, ...),添加文字
?abline(a, b, ...),添加直線y=a+bx
?abline(h=y, ...),添加水平線
?abline(v=x, ...),添加垂直線
?polygon(x, y, ...),添加一個閉合的多邊形
?segments(x0, y0, x1, y1, ...),畫線段
?arrows(x0, y0, x1, y1, ...),畫箭頭
?symbols(x, y, ...),添加各種符號
?legend(x, y, legend, ...),添加圖列說明
1.環境
系統:windows10
python版本:python3.6.1
使用的庫:matplotlib,numpy
2.numpy庫產生隨機數幾種方法
import numpy as np
numpy.random
rand(d0,?d1,?...,?dn) ?
In [2]: x=np.random.rand(2,5)
In [3]: x
Out[3]:
array([[ 0.84286554, ?0.50007593, ?0.66500549, ?0.97387807, ?0.03993009],
[ 0.46391661, ?0.50717355, ?0.21527461, ?0.92692517, ?0.2567891 ]])
randn(d0,?d1,?...,?dn)查詢結果為標準正態分布
In [4]: x=np.random.randn(2,5)
In [5]: x
Out[5]:
array([[-0.77195196, ?0.26651203, -0.35045793, -0.0210377 , ?0.89749635],
[-0.20229338, ?1.44852833, -0.10858996, -1.65034606, -0.39793635]])
randint(low,high,size) ?
生成low到high之間(半開區間 [low, high)),size個數據
In [6]: x=np.random.randint(1,8,4)
In [7]: x
Out[7]: array([4, 4, 2, 7])
random_integers(low,high,size) ?
生成low到high之間(閉區間 [low, high)),size個數據
In [10]: x=np.random.random_integers(2,10,5)
In [11]: x
Out[11]: array([7, 4, 5, 4, 2])
3.散點圖
x x軸
y y軸
s ? 圓點面積
c ? 顏色
marker ?圓點形狀
alpha ? 圓點透明度????????????????#其他圖也類似這種配置
N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)
plt.show()
4.折線圖
x=np.linspace(-10000,10000,100) #將-10到10等區間分成100份
y=x**2+x**3+x**7
plt.plot(x,y)
plt.show()
折線圖使用plot函數
5.條形圖
N=5
y=[20,10,30,25,15]
y1=np.random.randint(10,50,5)
x=np.random.randint(10,1000,N)
index=np.arange(N)
plt.bar(left=index,height=y,color='red',width=0.3)
plt.bar(left=index+0.3,height=y1,color='black',width=0.3)
plt.show()
orientation設置橫向條形圖
N=5
y=[20,10,30,25,15]
y1=np.random.randint(10,50,5)
x=np.random.randint(10,1000,N)
index=np.arange(N)# plt.bar(left=index,height=y,color='red',width=0.3)# plt.bar(left=index+0.3,height=y1,color='black',width=0.3)#plt.barh() 加了h就是橫向的條形圖,不用設置orientation
plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')
plt.show()
6.直方圖
m1=100
sigma=20
x=m1+sigma*np.random.randn(2000)
plt.hist(x,bins=50,color="green",normed=True)
plt.show()
# #雙變量的直方圖# #顏色越深頻率越高# #研究雙變量的聯合分布
#雙變量的直方圖#顏色越深頻率越高#研究雙變量的聯合分布
x=np.random.rand(1000)+2
y=np.random.rand(1000)+3
plt.hist2d(x,y,bins=40)
plt.show()
7.餅狀圖
#設置x,y軸比例為1:1,從而達到一個正的圓
#labels標簽參數,x是對應的數據列表,autopct顯示每一個區域占的比例,explode突出顯示某一塊,shadow陰影
labes=['A','B','C','D']
fracs=[15,30,45,10]
explode=[0,0.1,0.05,0]#設置x,y軸比例為1:1,從而達到一個正的圓
plt.axes(aspect=1)#labels標簽參數,x是對應的數據列表,autopct顯示每一個區域占的比例,explode突出顯示某一塊,shadow陰影
plt.pie(x=fracs,labels=labes,autopct="%.0f%%",explode=explode,shadow=True)
plt.show()
8.箱型圖
import matplotlib.pyplot as pltimport numpy as npdata=np.random.normal(loc=0,scale=1,size=1000)#sym 點的形狀,whis虛線的長度plt.boxplot(data,sym="o",whis=1.5)plt.show()
#sym 點的形狀,whis虛線的長度
第一步,打開python語言命令窗口,聲明一個函數print_color,調用range遍歷,打印星號,如下圖所示:
第二步,接著調用第一步中的函數,然后查看打印結果,可以發現生成一個三角形,如下圖所示:
第三步,再次定義一個函數four_tu,利用循環生成星號,注意查看函數生成的圖形。
第四步,調用上述步驟中定義的函數,然后查看打印圖形組合的形狀。
第五步,如果在定義的函數內,多次調用print()方法打印星號,會是什么樣的結果呢。
第六步,在后續步驟中,調用函數打印結果,可以發現生成一個不規則的圖形。
網站標題:python函數畫人物 python畫自己的名字
當前URL:http://vcdvsql.cn/article34/dooojpe.html
成都網站建設公司_創新互聯,為您提供面包屑導航、營銷型網站建設、移動網站建設、搜索引擎優化、ChatGPT、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯