日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

莫烦python简历_Matplotlib画图教程

發布時間:2025/3/15 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 莫烦python简历_Matplotlib画图教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1 Matplotlib 簡介

-----1.1 為什么用Matplotlib?

-----1.2 Matplotlib 安裝

2 基本使用

-----2.1 基本用法

-----2.2 figure 圖像

-----2.3 設置坐標軸1

-----2.4 設置坐標軸2

-----2.5 Legend 圖例

-----2.6 Annotation 標注

-----2.7 tick 能見度

3 畫圖種類

-----3.1 Scatter 散點圖

-----3.2 Bar 柱狀圖

-----3.3 Contours 等高線圖

-----3.4 Image 圖片

-----3.5 3D 數據

4 多圖合并顯示

-----4.1 Subplot 多合一顯示

-----4.2 Subplot 分格顯示

-----4.3 圖中圖

-----4.4 次坐標軸

5 動畫

-----5.1 Animation 動畫

****************************************本文參考****************************************Matplotlib 畫圖 | 莫煩Python?mofanpy.com

*****************************************************************************************

1 Matplotlib 簡介

1.1 為什么用Matplotlib?

Matplotlib是一個非常強大的Python畫圖工具,可以畫出美麗的線圖、散點圖、等高線圖、條形圖、柱狀圖、3D圖形,甚至是圖形動畫等等。

1.2 Matplotlib 安裝

打開Pycharm,點擊菜單上的“file”,再點擊“setting”,選中你的項目,選中其下的“Project Interpreter”。出現界面后,點擊最右邊的“+”。出現界面后,搜索matplotlib,選中,選擇版本,點擊“Install Package”進行下載。

2 基本使用

2.1 基本用法

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-1, 1, 50)

y = 2*x+1

plt.plot(x, y)

plt.show()

得到

2.2 figure 圖像

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3, 3, 50)

y1 = 2*x+1

y2 = x**2

plt.figure()

plt.plot(x, y1)

plt.figure(num=3, figsize=(8, 5))

plt.plot(x, y2)

plt.plot(x, y1, color='red', linewidth=3, linestyle='--')

plt.show()

得到

2.3 設置坐標軸1

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3, 3, 50)

y1 = 2*x+1

y2 = x**2

plt.figure()

plt.plot(x, y1)

plt.figure(num=3, figsize=(8, 5))

plt.plot(x, y2)

plt.plot(x, y1, color='red', linewidth=1, linestyle='--')

plt.xlim((-1, 2))

plt.ylim((-2, 3))

plt.xlabel('I am x')

plt.ylabel('I am y')

new_ticks = np.linspace(-1, 2, 5)

plt.xticks(new_ticks)

plt.yticks([-2, -1.8, -1, 1.22, 3],

[r'$really\ bad$', r'$bad$', r'$normal\ \alpha$', r'$good$', r'$really\ good$'])

plt.show()

得到

2.4 設置坐標軸2

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3, 3, 50)

y1 = 2*x+1

y2 = x**2

plt.figure()

plt.plot(x, y2)

plt.plot(x, y1, color='red', linewidth=1, linestyle='--')

plt.xlim((-1, 2))

plt.ylim((-2, 3))

plt.xlabel('I am x')

plt.ylabel('I am y')

new_ticks = np.linspace(-1, 2, 5)

plt.xticks(new_ticks)

plt.yticks([-2, -1.8, -1, 1.22, 3],

[r'$really\ bad$', r'$bad$', r'$normal\ \alpha$', r'$good$', r'$really\ good$'])

ax = plt.gca()

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')

ax.yaxis.set_ticks_position('left')

ax.spines['bottom'].set_position(('data', 0))

ax.spines['left'].set_position(('data', 0))

plt.show()

得到

2.5 Legend 圖例

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3, 3, 50)

y1 = 2*x+1

y2 = x**2

plt.figure()

plt.xlim((-1, 2))

plt.ylim((-2, 3))

plt.xlabel('I am x')

plt.ylabel('I am y')

new_ticks = np.linspace(-1, 2, 5)

plt.xticks(new_ticks)

plt.yticks([-2, -1.8, -1, 1.22, 3],

[r'$really\ bad$', r'$bad$', r'$normal\ \alpha$', r'$good$', r'$really\ good$'])

l1, = plt.plot(x, y2, label='up')

l2, = plt.plot(x, y1, color='red', linewidth=1, linestyle='--', label='down')

plt.legend(handles = [l1, l2,], labels = ['aaa', 'bbb'], loc='best') #loc: lower right, upper left, etc.

plt.show()

得到

2.6 Annotation 標注

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3, 3, 50)

y = 2*x + 1

plt.figure(num=1, figsize=(8, 5))

plt.plot(x, y)

ax = plt.gca()

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')

ax.spines['bottom'].set_position(('data', 0))

ax.yaxis.set_ticks_position('left')

ax.spines['left'].set_position(('data', 0))

x0 = 1

y0 = 2*x0 + 1

plt.scatter(x0, y0, s=50, color='b')

plt.plot([x0, x0], [0, y0], 'k--', linewidth=2.5)

plt.annotate(r'$2x+1=%s$' % y0, xy=(x0, y0), xycoords='data', xytext=(+30, -30),

textcoords='offset points', fontsize=16,

arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.2"))

plt.text(-3.7, 3, r'$This\ is\ the\ some\ text. \mu\ \sigma_i\ \alpha_t$',

fontdict={'size': 16, 'color': 'r'})

plt.show()

得到

2.7 tick 能見度

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-3, 3, 50)

y = 0.1*x

plt.figure()

plt.plot(x, y, linewidth=10, zorder=1) # 在 plt 2.0.2 或更高的版本中, 設置 zorder 給 plot 在 z 軸方向排序

plt.ylim(-2, 2)

ax = plt.gca()

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')

ax.spines['bottom'].set_position(('data', 0))

ax.yaxis.set_ticks_position('left')

ax.spines['left'].set_position(('data', 0))

for label in ax.get_xticklabels() + ax.get_yticklabels():

label.set_fontsize(12)

label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.7, zorder=2))

# 在 plt 2.0.2 或更高的版本中, 設置 zorder 給 plot 在 z 軸方向排序

plt.show()

得到

3 畫圖種類

3.1 Scatter 散點圖

import matplotlib.pyplot as plt

import numpy as np

n = 1024 # data size

X = np.random.normal(0, 1, n) # 每一個點的X值

Y = np.random.normal(0, 1, n) # 每一個點的Y值

T = np.arctan2(Y, X) # for color value

plt.scatter(X, Y, s=75, c=T, alpha=0.5)

plt.xlim(-1.5, 1.5)

plt.xticks(()) # ignore xticks

plt.ylim(-1.5, 1.5)

plt.yticks(()) # ignore yticks

plt.show()

得到

3.2 Bar 柱狀圖

import matplotlib.pyplot as plt

import numpy as np

n = 12

X = np.arange(n)

Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)

Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)

plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')

plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')

for x, y in zip(X, Y1):

# ha: horizontal alignment

# va: vertical alignment

plt.text(x, y + 0.05, '%.2f' % y, ha='center', va='bottom')

for x, y in zip(X, Y2):

# ha: horizontal alignment

# va: vertical alignment

plt.text(x, -y - 0.05, '%.2f' % y, ha='center', va='top')

plt.xlim(-0.5, n)

plt.xticks(())

plt.ylim(-1.25, 1.25)

plt.yticks(())

plt.show()

得到

3.3 Contours 等高線圖

import matplotlib.pyplot as plt

import numpy as np

def f(x, y):

# the height function

return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 - y**2)

n = 256

x = np.linspace(-3, 3, n)

y = np.linspace(-3, 3, n)

X, Y = np.meshgrid(x, y)

# use plt.contourf to filling contours

# X, Y and value for (X,Y) point

plt.contourf(X, Y, f(X, Y), 8, alpha=0.75, cmap=plt.cm.hot)

# use plt.contour to add contour lines

C = plt.contour(X, Y, f(X, Y), 8, colors='black')

plt.clabel(C, inline=True, fontsize=10)

plt.xticks(())

plt.yticks(())

plt.show()

得到

3.4 Image 圖片

import matplotlib.pyplot as plt

import numpy as np

a = np.array([0.313660827978, 0.365348418405, 0.423733120134,

0.365348418405, 0.439599930621, 0.525083754405,

0.423733120134, 0.525083754405, 0.651536351379]).reshape(3, 3)

plt.imshow(a, interpolation='nearest', cmap='bone', origin='upper')

plt.colorbar(shrink=0.92)

plt.xticks(())

plt.yticks(())

plt.show()

得到

3.5 3D 數據

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()

ax = Axes3D(fig)

# X, Y value

x = np.arange(-4, 4, 0.25)

y = np.arange(-4, 4, 0.25)

X, Y = np.meshgrid(x, y) # x-y 平面的網格

R = np.sqrt(X ** 2 + Y ** 2)

# height value

Z = np.sin(R)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'), edgecolor='black')

ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.get_cmap('rainbow'))

ax.set_zlim(-2, 2)

plt.show()

得到

4 多圖合并顯示

4.1 Subplot 多合一顯示

(1)樣式一

import matplotlib.pyplot as plt

plt.figure()

plt.subplot(2, 2, 1)

plt.plot([0, 1], [0, 1])

plt.subplot(2, 2, 2)

plt.plot([0, 1], [0, 2])

plt.subplot(223)

plt.plot([0, 1], [0, 3])

plt.subplot(224)

plt.plot([0, 1], [0, 4])

plt.show()

得到

(2)樣式二

import matplotlib.pyplot as plt

plt.figure()

plt.subplot(2, 1, 1)

plt.plot([0, 1], [0, 1])

plt.subplot(2, 3, 4)

plt.plot([0, 1], [0, 2])

plt.subplot(235)

plt.plot([0, 1], [0, 3])

plt.subplot(236)

plt.plot([0, 1], [0, 4])

plt.show()

得到

4.2 Subplot 分格顯示

(1)樣式一

import matplotlib.pyplot as plt

plt.figure()

ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3, rowspan=1)

ax1.plot([1, 2], [1, 2]) # 畫小圖

ax1.set_title('ax1_title') # 設置小圖的標題

ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2, rowspan=1)

ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2, colspan=1)

ax4 = plt.subplot2grid((3, 3), (2, 0), rowspan=1, colspan=1)

ax5 = plt.subplot2grid((3, 3), (2, 1), rowspan=1, colspan=1)

ax4.scatter([1, 2], [2, 2])

ax4.set_xlabel('ax4_x')

ax4.set_ylabel('ax4_y')

plt.show()

得到

(2)樣式二

import matplotlib.pyplot as plt

import matplotlib.gridspec as gridspec

plt.figure()

gs = gridspec.GridSpec(3, 3)

ax1 = plt.subplot(gs[0, :])

ax2 = plt.subplot(gs[1, :2])

ax3 = plt.subplot(gs[1:, 2])

ax4 = plt.subplot(gs[-1, 0])

ax5 = plt.subplot(gs[-1, -2])

plt.show()

得到

(3)樣式三

import matplotlib.pyplot as plt

f, ((ax11, ax12), (ax13, ax14)) = plt.subplots(2, 2, sharex=True, sharey=True)

ax11.scatter([1,2], [1,2])

plt.tight_layout() # plt.tight_layout()表示緊湊顯示圖像

plt.show()

得到

4.3 圖中圖

import matplotlib.pyplot as plt

fig = plt.figure()

x = [1, 2, 3, 4, 5, 6, 7]

y = [1, 3, 4, 2, 5, 8, 6]

left, bottom, width, height = 0.1, 0.1, 0.8, 0.8

ax1 = fig.add_axes([left, bottom, width, height])

ax1.plot(x, y, 'r')

ax1.set_xlabel('x')

ax1.set_ylabel('y')

ax1.set_title('title')

left, bottom, width, height = 0.2, 0.6, 0.25, 0.25

ax2 = fig.add_axes([left, bottom, width, height])

ax2.plot(y, x, 'b')

ax2.set_xlabel('x')

ax2.set_ylabel('y')

ax2.set_title('title inside 1')

plt.axes([0.6, 0.2, 0.25, 0.25])

plt.plot(y[::-1], x, 'g') # 注意對y進行了逆序處理

plt.xlabel('x')

plt.ylabel('y')

plt.title('title inside 2')

plt.show()

得到

4.4 次坐標軸

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(0, 10, 0.1)

y1 = 0.05 * x**2

y2 = -1 * y1

fig, ax1 = plt.subplots()

ax2 = ax1.twinx()

ax1.plot(x, y1, 'g-') # green, solid line

ax2.plot(x, y2, 'b--') # blue

ax1.set_xlabel('X data')

ax1.set_ylabel('Y1 data', color='g')

ax2.set_ylabel('Y2 data', color='b')

plt.show()

得到

5 動畫

5.1 Animation 動畫

from matplotlib import pyplot as plt

from matplotlib import animation

import numpy as np

fig, ax = plt.subplots()

x = np.arange(0, 2*np.pi, 0.01)

line, = ax.plot(x, np.sin(x))

def animate(i):

line.set_ydata(np.sin(x + i/10.0))

return line,

def init():

line.set_ydata(np.sin(x))

return line,

ani = animation.FuncAnimation(fig=fig, func=animate, frames=100, init_func=init, interval=20, blit=True)

plt.show()

ani.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])

得到

總結

以上是生活随笔為你收集整理的莫烦python简历_Matplotlib画图教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美亚洲精品在线 | 好吊妞精品视频 | 亚色成人| 无码人妻丰满熟妇区毛片18 | 女同毛片一区二区三区 | 国产无遮挡呻吟娇喘视频 | 国产三区四区视频 | 成人精品在线播放 | 亚洲一区 中文字幕 | 国产成人三级在线观看 | 欧洲亚洲视频 | 四虎久久久久 | 一级视频黄色 | 日本男人天堂网 | 双腿张开被9个男人调教 | 妹子干综合 | 人人爽视频 | 国产精品五区 | 91精品国产综合久久香蕉922 | 强侵犯の奶水授乳羞羞漫虐 | 日韩a在线观看 | 国产香蕉尹人视频在线 | 天天鲁一鲁摸一摸爽一爽 | 黄色a级片在线观看 | 上原亚衣av一区二区三区 | 日韩一区二区高清 | 99日韩精品| 国产91传媒| 日日碰日日操 | 性色免费视频 | 日韩激情网站 | 欧美片网站yy | 欧美a在线播放 | 亚洲在线一区二区 | 玩偶游戏在线观看免费 | 欧美最猛黑人xxxx | 东京久久久 | 秋霞亚洲| 先锋影音av资源在线观看 | 综合五月婷| 一区二区精品在线 | 91视频播放 | caoprom97 | 超碰97在线人人 | 2019日韩中文字幕mv | 久久综合久色欧美综合狠狠 | 色99在线| 日韩一区二区免费播放 | 麻豆性生活 | 色久在线| 亚洲无线观看 | 一起草在线视频 | 538国产精品视频一区二区 | 欧美日韩一二三 | 国产精品久久久久9999爆乳 | 色播欧美 | 熟妇人妻va精品中文字幕 | 成人在线直播 | 日日夜夜天天综合 | 人人人妻人人澡人人爽欧美一区 | 99久久国| 国产a线 | 美人被强行糟蹋np各种play | 能看的av | 日美女逼逼 | 少妇一级淫片免费放播放 | 噜噜噜噜私人影院 | 欧美性视频在线播放 | 久久久久九九九九 | 麻豆传媒视频入口 | 日本不卡一| 人人妻人人爽一区二区三区 | 亚洲精品视 | 毛片网站免费 | 91黄址| 久久资源365 | 妞妞av| 国产精品久久久av | 成人午夜免费观看 | 在线成人av | 成人精品国产免费网站 | 713电影免费播放国语 | ww黄色| 视频二区 | 亚洲看片网 | 特级做a爰片毛片免费69 | 99re5| 国产成人无码精品亚洲 | 国产嫩bbwbbw高潮 | 男女透逼视频 | 成人一卡二卡 | 国产网红在线 | 四虎成人永久免费视频 | 日韩激情片 | 俺也去av | 亚洲作爱网 | 特黄aaaaaaa片免费视频 | 国产成人一区二区三区电影 | 蜜桃成人av |