最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python繪圖之坐標軸的超詳細講解

 更新時間:2022年08月30日 10:34:12   作者:大風起兮_  
在使用matplotlib模塊時畫坐標圖時,往往需要對坐標軸設置很多參數,這些參數包括橫縱坐標軸范圍、坐標軸刻度大小、坐標軸名稱等,下面這篇文章主要給大家介紹了關于python繪圖之坐標軸的相關資料,需要的朋友可以參考下

1. 2D坐標軸

1.1 繪制簡單的曲線

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)#-1到1中畫50個點
y=x**2
plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
plt.show()

作圖:

1.2 坐標軸的刻度線向內

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)#-1到1中畫50個點
y=x**2
# 下面兩行代碼要放在plt.plot的前面
plt.rcParams['xtick.direction'] = 'in'#將x軸的刻度線方向設置向內
plt.rcParams['ytick.direction'] = 'in'#將y軸的刻度線方向設置向內

plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
plt.show()

1.3 將坐標刻度從整0開始

plt.margins(x=0)
plt.margins(y=0)

#設置坐標軸范圍
#plt.ylim([0,0.8])
#plt.xlim([0,0.75])

從0開始,不留空隙

1.4 設置刻度柵格

簡單的刻度:

plt.grid()

主刻度和次刻度

import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(17,3))
ax = plt.gca()
ax.xaxis.set_major_locator(plt.MultipleLocator(0.2))    #設置x軸主刻度
ax.xaxis.set_minor_locator(plt.MultipleLocator(0.04))   #設置x軸次刻度
ax.yaxis.set_major_locator(plt.MultipleLocator(0.5))    #設置x軸次刻度
ax.yaxis.set_minor_locator(plt.MultipleLocator(0.1))    #設置x軸次刻度
ax.grid(which='major',axis="both",linewidth=0.75,linestyle='-',color='r')
ax.grid(which='minor',axis="both",linewidth=0.25,linestyle='-',color='r')
x=np.linspace(0,3*np.pi,50)#-1到1中畫50個點
y=2*np.sin(x)
plt.plot(x,y)
plt.margins(x=0)
plt.margins(y=0)
plt.show()

下面的圖形類似于心電圖紙繪制,關于心電圖相關的繪制,具體在使用python繪制心電圖中體現:

1.5 不顯示坐標

只是坐標刻度不可見,兩種方式的效果一樣

# plt.xticks([])
plt.yticks([])

# 或者下面的
# frame.axes.get_xaxis().set_visible(False) # x 軸不可見
frame.axes.get_yaxis().set_visible(False) # y 軸不可見

關閉兩者坐標軸,只有曲線圖形

plt.axis('off')

1.6 坐標值

為坐標設置刻度值, 并且將刻度值旋轉45度

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,2,50)#-1到1中畫50個點
y=x**2
plt.rcParams['xtick.direction'] = 'in'#將x軸的刻度線方向設置向內
plt.rcParams['ytick.direction'] = 'in'#將y軸的刻度線方向設置向內
ax = plt.gca()
xlabel=[str(val)+'_1' for val in range(100,110)]
ax.set_xticklabels(xlabel)
plt.xticks(rotation = 45)
plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
plt.margins(x=0)
plt.margins(y=0)
plt.show()

1.7 繪制橫線和豎線

plt.axvline(1)
plt.axhline(1.5)

![在這里插入圖片描述](https://img-blog.csdnimg.cn/519c11090ad8418f92e84d6a6bd7d19d.png

1.8 設置坐標點的顏色

下圖中設置y軸第3個坐標值的顏色為黃色,x軸第6個坐標值顏色為綠色。

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,2,50)#-1到1中畫50個點
y=x**2
plt.rcParams['xtick.direction'] = 'in'#將x軸的刻度線方向設置向內
plt.rcParams['ytick.direction'] = 'in'#將y軸的刻度線方向設置向內
ax = plt.gca()
plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
ax.get_yticklabels()[3].set_color("y")
ax.get_xticklabels()[6].set_color("g")
plt.show()

1.9 雙坐標

代碼如下:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)  # we already handled the x-label with ax1
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)

fig.tight_layout()  # otherwise the right y-label is slightly clipped
plt.show()

2. 3D坐標軸

2.1 繪制3D散點圖

關鍵代碼ax.scatter(xs, ys, zs, c=c, marker=m),輸入數據xs,ys,zs是相同長度的一維數據。c是顏色,marker是散點類型。

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
def randrange(n, vmin, vmax):
    return (vmax - vmin)*np.random.rand(n) + vmin
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
 
n = 100
for c, m, zlow, zhigh in [('r', '*', -10, 20), ('b', 'o', -30, -10)]:
    xs = randrange(n, 23, 32)
    ys = randrange(n, 0, 100)
    zs = randrange(n, zlow, zhigh)
    ax.scatter(xs, ys, zs, c=c, marker=m)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()

2.2 繪制3D曲面圖

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig=plt.figure(num=1,figsize=(8,6))
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)
# height value
Z = np.cos(R)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'),edgecolors='white')
ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.get_cmap('rainbow'))#投影等高線,改變zdir='x', offset=-4實現投影到不同坐標軸     
ax.set_zlim(-2, 2)
ax.tick_params(axis='x',colors='g')
ax.tick_params(axis='y',colors='g')
ax.tick_params(axis='z',colors='g')
plt.show()

2.3 繪制3D柱形圖

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm

X=np.arange(0, 9, step=1)#X軸的坐標
Y=np.arange(0, 10, step=1)#Y軸的坐標
arr = [[np.random.randint(1,50) for i in range(9)] for i in range(10)]
Z = np.array(arr)

xx, yy=np.meshgrid(X, Y)#網格化坐標
X, Y=xx.ravel(), yy.ravel()#矩陣扁平化
bottom=np.zeros_like(X)#設置柱狀圖的底端位值
Z=Z.ravel()#扁平化矩陣

width=height=0.8#每一個柱子的長和寬
#繪圖設置
fig=plt.figure()
ax=fig.gca(projection='3d')#三維坐標軸
ax.bar3d(X, Y, bottom, width, height, Z, shade=True,color='lightgreen')#
#坐標軸設置
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

引用

[1]Matplotlib 文檔

[2]python繪制三維圖

[3]python-繪制3D柱形圖

[4]Python + matplotlib更改縱橫坐標刻度顏色

[5]Python繪圖總結(Matplotlib篇)之坐標軸及刻度

總結

到此這篇關于python繪圖之坐標軸的文章就介紹到這了,更多相關python繪圖坐標軸內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python調用c++ ctype list傳數組或者返回數組的方法

    python調用c++ ctype list傳數組或者返回數組的方法

    今天小編就為大家分享一篇python調用c++ ctype list傳數組或者返回數組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • pycharm快捷鍵匯總

    pycharm快捷鍵匯總

    本文給大家分享的是PyCharm開發(fā)工具的快捷鍵大全整理,非常詳細,適合使用PyCharm作為開發(fā)工具的開發(fā)人員參考使用,能夠幫助提高開發(fā)效率和速度
    2020-02-02
  • PyG搭建GCN模型實現節(jié)點分類GCNConv參數詳解

    PyG搭建GCN模型實現節(jié)點分類GCNConv參數詳解

    這篇文章主要為大家介紹了PyG搭建GCN模型實現節(jié)點分類GCNConv參數詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • python?Pandas庫read_excel()參數實例詳解

    python?Pandas庫read_excel()參數實例詳解

    人們經常用pandas處理表格型數據,時常需要讀入excel表格數據,下面這篇文章主要給大家介紹了關于python?Pandas庫read_excel()參數的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 情人節(jié)快樂! python繪制漂亮玫瑰

    情人節(jié)快樂! python繪制漂亮玫瑰

    情人節(jié)快樂! 這篇文章主要教大家如何用python繪制漂亮玫瑰花,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Python之Selenium自動化瀏覽器測試詳解

    Python之Selenium自動化瀏覽器測試詳解

    這篇文章主要為大家詳細介紹了Python自動化瀏覽器測試,使用Selenium,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • pycharm社區(qū)版安裝django并創(chuàng)建一個簡單項目的全過程

    pycharm社區(qū)版安裝django并創(chuàng)建一個簡單項目的全過程

    社區(qū)版的pycharm跟專業(yè)版的pycharm應用差別還是不太大,下面這篇文章主要給大家介紹了關于pycharm社區(qū)版安裝django并創(chuàng)建一個簡單項目的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • PyTorch中的拷貝與就地操作詳解

    PyTorch中的拷貝與就地操作詳解

    這篇文章主要給大家介紹了關于PyTorch中拷貝與就地操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python range、enumerate和zip函數用法詳解

    Python range、enumerate和zip函數用法詳解

    這篇文章主要介紹了Python range、enumerate和zip函數用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python 統(tǒng)計列表中重復元素的個數并返回其索引值的實現方法

    Python 統(tǒng)計列表中重復元素的個數并返回其索引值的實現方法

    這篇文章主要介紹了Python 統(tǒng)計列表中重復元素的個數并返回其索引值,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05

最新評論

泾源县| 精河县| 资源县| 济宁市| 白山市| 靖边县| 光泽县| 大化| 宜兴市| 栾川县| 思南县| 左权县| 英德市| 湖南省| 台江县| 耒阳市| 盘山县| 昌宁县| 江都市| 肥东县| 嘉义市| 水富县| 潮州市| 建宁县| 开江县| 高邮市| 太保市| 织金县| 资源县| 灵丘县| 定州市| 开化县| 无锡市| 新竹市| 噶尔县| 曲麻莱县| 永川市| 阜平县| 芮城县| 石家庄市| 平定县|