python库怎么绘画_python基础,安装并使用matplotlib库画图
在學校時,常常使用 matlab,覺得它的一大好處就是畫圖非常方便,可以隨時將關心的數據以圖表的形式表現出來。現在經常用 python,也想把關心的數據,繪制成圖表,怎么處理呢?
安裝 matplotlib 庫
python 使用 matplotlib 庫繪制圖表非常方便,其安裝過程,這里以 ubuntu 操作系統為例,只需執行:sudo apt-get install python-matplotlib
即可。其安裝命令不是 pip install,從這點可以看出,繪制圖表應該是跟操作系統相關的,也就是說,應該需要操作系統支持圖表顯示,當然,這只是我的猜測,我的 ubuntu 是帶界面的。
使用 matplotlib 庫
1. 二維描點作圖
是最基礎的一種使用,即:import matplotlib.pyplot as plt
x=[0,1]
y=[0,1]
plt.figure()
plt.plot(x,y)
plt.show()
#plt.savefig("easyplot.jpg")
執行結果如下:
很像 matlab 的 plot 函數畫出的圖。
2. 畫散點圖
直接上代碼:import numpy as np
import matplotlib.pyplot as plt
N = 50
x = np.random.rand(N)
y = np.random.rand(N) # 隨機位置
colors = np.random.rand(N) # 隨機顏色
area = np.pi * (15 * np.random.rand(N))**2 # 隨機大小
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
plt.show()
執行結果如下:
主要用到 scatter 函數,它的各個參數意義應該也非常清楚。
3. 畫各種圖import matplotlib.pyplot as plt
plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.path as mpath
import matplotlib.lines as mlines
import matplotlib.patches as mpatches
from matplotlib.collections import PatchCollection
def label(xy, text):
y = xy[1] - 0.15 # shift y-value for label so that it's below the artist
plt.text(xy[0], y, text, ha="center", family='sans-serif', size=14)
fig, ax = plt.subplots()
# create 3x3 grid to plot the artists
grid = np.mgrid[0.2:0.8:3j, 0.2:0.8:3j].reshape(2, -1).T
patches = []
# add a circle
circle = mpatches.Circle(grid[0], 0.1, ec="none")
patches.append(circle)
label(grid[0], "Circle")
# add a rectangle
rect = mpatches.Rectangle(grid[1] - [0.025, 0.05], 0.05, 0.1, ec="none")
patches.append(rect)
label(grid[1], "Rectangle")
# add a wedge
wedge = mpatches.Wedge(grid[2], 0.1, 30, 270, ec="none")
patches.append(wedge)
label(grid[2], "Wedge")
# add a Polygon
polygon = mpatches.RegularPolygon(grid[3], 5, 0.1)
patches.append(polygon)
label(grid[3], "Polygon")
# add an ellipse
ellipse = mpatches.Ellipse(grid[4], 0.2, 0.1)
patches.append(ellipse)
label(grid[4], "Ellipse")
# add an arrow
arrow = mpatches.Arrow(grid[5, 0] - 0.05, grid[5, 1] - 0.05, 0.1, 0.1, width=0.1)
patches.append(arrow)
label(grid[5], "Arrow")
# add a path patch
Path = mpath.Path
path_data = [
(Path.MOVETO, [0.018, -0.11]),
(Path.CURVE4, [-0.031, -0.051]),
(Path.CURVE4, [-0.115, 0.073]),
(Path.CURVE4, [-0.03 , 0.073]),
(Path.LINETO, [-0.011, 0.039]),
(Path.CURVE4, [0.043, 0.121]),
(Path.CURVE4, [0.075, -0.005]),
(Path.CURVE4, [0.035, -0.027]),
(Path.CLOSEPOLY, [0.018, -0.11])
]
codes, verts = zip(*path_data)
path = mpath.Path(verts + grid[6], codes)
patch = mpatches.PathPatch(path)
patches.append(patch)
label(grid[6], "PathPatch")
# add a fancy box
fancybox = mpatches.FancyBboxPatch(
grid[7] - [0.025, 0.05], 0.05, 0.1,
boxstyle=mpatches.BoxStyle("Round", pad=0.02))
patches.append(fancybox)
label(grid[7], "FancyBboxPatch")
# add a line
x, y = np.array([[-0.06, 0.0, 0.1], [0.05, -0.05, 0.05]])
line = mlines.Line2D(x + grid[8, 0], y + grid[8, 1], lw=5., alpha=0.3)
label(grid[8], "Line2D")
colors = np.linspace(0, 1, len(patches))
collection = PatchCollection(patches, cmap=plt.cm.hsv, alpha=0.3)
collection.set_array(np.array(colors))
ax.add_collection(collection)
ax.add_line(line)
plt.subplots_adjust(left=0, right=1, bottom=0, top=1)
plt.axis('equal')
plt.axis('off')
plt.show()
執行結果如下:
本帖僅僅做個筆記,是轉載的,原帖:
https://blog.csdn.net/lucky_greenegg/article/details/77109484
總結
以上是生活随笔為你收集整理的python库怎么绘画_python基础,安装并使用matplotlib库画图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chrome webdriver_网络爬
- 下一篇: 排骨家常做法?