免费男女视频_国产系列 视频二区_羞羞视频免费入口网站_久国久产久精永久网页_国产免费观看av_一区二区三区日韩在线观看

Python绘制六种可视化图表

01. 折線圖

繪制折線圖,如果你數據不是很多的話,畫出來的圖將是曲折狀態,但一旦你的數據集大起來,比如下面我們的示例,有100個點,所以我們用肉眼看到的將是一條平滑的曲線。

這里我繪制三條線,只要執行三次 plt.plot 就可以了。


1
2
3
4
5
6
7
8
9
10
11
importnumpy as np
importmatplotlib.pyplot as plt
x=np.linspace(0,2,100)
plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
plt.show()

 

02. 散點圖

其實散點圖和折線圖是一樣的原理,將散點圖里的點用線連接起來就是折線圖了。所以繪制散點圖,只要設置一下線型即可。

注意:這里我也繪制三條線,和上面不同的是,我只用一個 plt.plot 就可以了。


1
2
3
4
5
6
importnumpy as np
importmatplotlib.pyplot as plt
x=np.arange(0.,5.,0.2)
# 紅色破折號, 藍色方塊 ,綠色三角塊
plt.plot(x, x,'r--', x, x**2,'bs', x, x**3,'g^')
plt.show()

 

03. 直方圖

直方圖,大家也不算陌生了。這里小明加大難度,在一張圖里,畫出兩個頻度直方圖。這應該在實際場景上也會遇到吧,因為這樣真的很方便比較,有木有?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
importnumpy as np
importmatplotlib.pyplot as plt
np.random.seed(19680801)
mu1, sigma1=100,15
mu2, sigma2=80,15
x1=mu1+sigma1*np.random.randn(10000)
x2=mu2+sigma2*np.random.randn(10000)
# the histogram of the data
# 50:將數據分成50組
# facecolor:顏色;alpha:透明度
# density:是密度而不是具體數值
n1, bins1, patches1=plt.hist(x1,50, density=True, facecolor='g', alpha=1)
n2, bins2, patches2=plt.hist(x2,50, density=True, facecolor='r', alpha=0.2)
# n:概率值;bins:具體數值;patches:直方圖對象。
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(110, .025, r'$\mu=100,\ \sigma=15$')
plt.text(50, .025, r'$\mu=80,\ \sigma=15$')
# 設置x,y軸的具體范圍
plt.axis([40,160,0,0.03])
plt.grid(True)
plt.show()

04. 柱狀圖

同樣的,簡單的柱狀圖,我就不畫了,這里畫三種比較難的圖。

4.1 并列柱狀圖


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
importnumpy as np
importmatplotlib.pyplot as plt
size=5
a=np.random.random(size)
b=np.random.random(size)
c=np.random.random(size)
x=np.arange(size)
# 有多少個類型,只需更改n即可
total_width, n=0.8,3 
width=total_width/n
# 重新擬定x的坐標
x=x-(total_width-width)/2
# 這里使用的是偏移
plt.bar(x, a, width=width, label='a')
plt.bar(x+width, b, width=width, label='b')
plt.bar(x+2*width, c, width=width, label='c')
plt.legend()
plt.show()

 

4.2 疊加柱狀圖


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
importnumpy as np
importmatplotlib.pyplot as plt
size=5
a=np.random.random(size)
b=np.random.random(size)
c=np.random.random(size)
x=np.arange(size)
# 這里使用的是偏移
plt.bar(x, a, width=0.5, label='a',fc='r')
plt.bar(x, b, bottom=a, width=0.5, label='b', fc='g')
plt.bar(x, c, bottom=a+b, width=0.5, label='c', fc='b')
plt.ylim(0,2.5)
plt.legend()
plt.grid(True)
plt.show()

 

05. 餅圖

5.1 普通餅圖


1
2
3
4
5
6
7
8
9
10
importmatplotlib.pyplot as plt
labels='Frogs','Hogs','Dogs','Logs'
sizes=[15,30,45,10]
# 設置分離的距離,0表示不分離
explode=(0,0.1,0,0)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
  shadow=True, startangle=90)
# Equal aspect ratio 保證畫出的圖是正圓形
plt.axis('equal')
plt.show()

 

5.2 嵌套餅圖


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
importnumpy as np
importmatplotlib.pyplot as plt
# 設置每環的寬度
size=0.3
vals=np.array([[60.,32.], [37.,40.], [29.,10.]])
# 通過get_cmap隨機獲取顏色
cmap=plt.get_cmap("tab20c")
outer_colors=cmap(np.arange(3)*4)
inner_colors=cmap(np.array([1,2,5,6,9,10]))
print(vals.sum(axis=1))
# [92. 77. 39.]
plt.pie(vals.sum(axis=1), radius=1, colors=outer_colors,
  wedgeprops=dict(width=size, edgecolor='w'))
print(vals.flatten())
# [60. 32. 37. 40. 29. 10.]
plt.pie(vals.flatten(), radius=1-size, colors=inner_colors,
  wedgeprops=dict(width=size, edgecolor='w'))
# equal 使得為正圓
plt.axis('equal')
plt.show()

 

5.3 極軸餅圖

要說酷炫,極軸餅圖也是數一數二的了,這里肯定也要學一下。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
importnumpy as np
importmatplotlib.pyplot as plt
np.random.seed(19680801)
N=10
theta=np.linspace(0.0,2*np.pi, N, endpoint=False)
radii=10*np.random.rand(N)
width=np.pi/4*np.random.rand(N)
ax=plt.subplot(111, projection='polar')
bars=ax.bar(theta, radii, width=width, bottom=0.0)
# left表示從哪開始,
# radii表示從中心點向邊緣繪制的長度(半徑)
# width表示末端的弧長
# 自定義顏色和不透明度
forr, barinzip(radii, bars):
 bar.set_facecolor(plt.cm.viridis(r/10.))
 bar.set_alpha(0.5)
plt.show()

 

06. 三維圖

6.1 繪制三維散點圖


1
2
3
4
5
6
7
8
9
10
11
12
13
14
importnumpy as np
importmatplotlib.pyplot as plt
frommpl_toolkits.mplot3dimportAxes3D
data=np.random.randint(0,255, size=[40,40,40])
x, y, z=data[0], data[1], data[2]
ax=plt.subplot(111, projection='3d')# 創建一個三維的繪圖工程
# 將數據點分成三部分畫,在顏色上有區分度
ax.scatter(x[:10], y[:10], z[:10], c='y')# 繪制數據點
ax.scatter(x[10:20], y[10:20], z[10:20], c='r')
ax.scatter(x[30:40], y[30:40], z[30:40], c='g')
ax.set_zlabel('Z')# 坐標軸
ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()

 

6.2 繪制三維平面圖


1
2
3
4
5
6
7
8
9
10
11
12
13
frommatplotlibimportpyplot as plt
importnumpy as np
frommpl_toolkits.mplot3dimportAxes3D
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)
# 具體函數方法可用 help(function) 查看,如:help(ax.plot_surface)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
plt.show()

 

總結

以上所述是小編給大家介紹的Python繪制六種可視化圖表,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

主站蜘蛛池模板: 久久免费精品视频 | 草草在线观看 | 午夜视频在线 | 免费男女乱淫真视频 | 国产91免费看| 国产毛片网站 | 中文字幕极速在线观看 | 成人短视频在线观看 | 日本在线免费观看视频 | 国产三级a三级三级 | 综合图区亚洲 | 黄色片免费看看 | 91精品国产一区二区在线观看 | 国产精品久久久乱弄 | 亚洲国产精品一区二区三区 | 久久成人激情视频 | 少妇一级淫片免费看 | 国产69精品福利视频 | 成人三级电影网站 | 毛片电影在线看 | 2021狠狠操| 亚洲一区二区三区高清 | www.99热精品 | 羞羞羞网站 | 毛片在线免费 | 日韩av电影免费在线观看 | 国产精品午夜一区 | 午夜精品毛片 | av在线收看| 91麻豆精品国产91久久久更新资源速度超快 | 亚洲无限资源 | 精品亚洲综合 | 亚洲网站免费 | 亚洲精品午夜国产va久久成人 | 中文字幕极速在线观看 | xp123精品视频 | 毛片免费在线 | 99爱在线免费观看 | 香蕉视频破解 | 亚欧美一区二区 | 黄色久|