本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
以下文章來源于云+社區 ,作者:職場亮哥
前言
采用資料可視化技術,資料不僅一目了然,而且更容易被解讀,同樣在資料分析得到結果之后,我們還需要用到可視化技術,把最終的結果呈現出來,
可視化視圖都有哪些?
散點圖、折線圖、直方圖、條形圖、箱線圖、餅圖、熱力圖等,
折線圖
python原始碼:
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
yy=[1,2,3,4,5,6,3,1,7,8]
xx=[3,5,4,1,9,3,2,5,6,3]
zz=[2,2,4,7,4,8,2,4,5,6]
plt.plot(yy,color='r',linewidth=2,linestyle='-',label='Data 1')
plt.plot(xx,color='b',linewidth=2,linestyle='--',label='Data 2')
plt.legend(loc=3) #loc是調整圖例的位置
plt.xlabel('X',fontproperties='simhei',fontsize=14) #fontsize字大小 fontproperties是字體
plt.ylabel('y軸名稱',fontproperties='simhei')
plt.title('折線圖',fontproperties='simhei')
plt.ylim(0,10)
plt.show()
雷達圖
python原始碼:
import matplotlib.pyplot as plt
import numpy as np
theta=np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2,0.25])
r=[75,60,50,70,50,85,45,70,75]
plt.polar(theta*np.pi,r,'ro-',lw=2)#theta是角,np.pi=3.1415926....r是徑,‘ro’r是紅色,o是形狀,lw是連線的寬度
plt.fill(theta*np.pi,r,facecolor='r',alpha=0.2) #facecolor是填充的顏色,alpha是透明度
plt.ylim(0,100) #定義每圈雷達的值plt.show()
Q3
柱形圖
python原始碼:
import numpy as np
import matplotlib.pyplot as plt
N=5
men=(20,35,30,35,27)
wmen=(25,32,34,20,25)
menstd=(2,3,4,1,2)
womstd=(3,5,2,3,3)
ind=np.arange(N)
width=0.25
p1=plt.bar(ind,men,width,yerr=menstd) #yerr是誤差
p2=plt.bar(ind,wmen,width,bottom=men,yerr=womstd) #bottom是以???為底開始畫柱子
plt.ylabel('scores')
plt.title('scores by group and gender')
plt.xticks(ind,('1','2','3','4','5'))
plt.yticks(np.arange(0,81,10))
plt.legend((p1[0],p2[0]),('nan','nv')) #legend是圖例plt.show()
Q4
三維圖
python原始碼:
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
#定義坐標軸
fig4 = plt.figure()
ax4 = plt.axes(projection='3d')
#生成三維資料
xx = np.arange(-5,5,0.1)
yy = np.arange(-5,5,0.1)
X, Y = np.meshgrid(xx, yy)
Z = np.sin(np.sqrt(X**2+Y**2))
#作圖
ax4.plot_surface(X,Y,Z,alpha=0.3,cmap='winter') #生成表面, alpha 用于控制透明度
ax4.contour(X,Y,Z,zdir='z', offset=-3,cmap="rainbow") #生成z方向投影,投到x-y平面
ax4.contour(X,Y,Z,zdir='x', offset=-6,cmap="rainbow") #生成x方向投影,投到y-z平面
ax4.contour(X,Y,Z,zdir='y', offset=6,cmap="rainbow") #生成y方向投影,投到x-z平面
#ax4.contourf(X,Y,Z,zdir='y', offset=6,cmap="rainbow") #生成y方向投影填充,投到x-z平面,contourf()函式
#設定顯示范圍
ax4.set_xlabel('X')
ax4.set_xlim(-6, 4) #拉開坐標軸范圍顯示投影
ax4.set_ylabel('Y')
ax4.set_ylim(-4, 6)
ax4.set_zlabel('Z')
ax4.set_zlim(-3, 3)
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/201297.html
標籤:其他
上一篇:Java流程控制:選擇結構
