簡體   English   中英

Matplotlib子圖軸

[英]Matplotlib subplot axes

對此問題的任何幫助將不勝感激。 我正在嘗試使用matplotlib進行子圖繪制,我編寫的代碼如下:

import networkx as nx

Fig, Axes = plt.subplots(nrows=1, ncols=2)
plt.tight_layout()
for i in range(0, NoOfVehicles):
  Axes[i].set_aspect(1)
  Axes[i].xaxis.set_major_formatter(mtick.NullFormatter())
  Axes[i].yaxis.set_major_formatter(mtick.NullFormatter()

現在如何在第一個繪圖中繪制某些內容,然后在第二個繪圖中繪制其他內容。

我想要做

nx.drawing.nx_pylab.draw_networkx_nodes(GPlot[0].G, GPlot[0].Position, node_size=100, node_color=GPlot[0].Color)

在第一個情節中

nx.drawing.nx_pylab.draw_networkx_nodes(GPlot[1].G, GPlot[1].Position, node_size=100, node_color=GPlot[1].Color)

在第二。

總而言之,這就是我想做的:我希望第一組節點進入subplot(1,2,1),第二組節點進入subplot(1,2,2)。 但是兩者都在同一個情節中(1,2,2)。

GPlot只是一個包含GraphPlot類的2個對象的列表

class GraphForPlot:
    def __init__(self):
        self.G = nx.Graph()
        self.Components = []
        self.ActiveStatus = {}
        self.Nodes = []
        self.Position = {}
        self.Color = []

您需要告訴netwkorkx要繪制的軸,否則,它將繪制到當前活動的軸中(無論plt.gca()返回什么( doc ))。

nx.drawing.nx_pylab.draw_networkx_nodes(..., ax=Axes[0])
nx.drawing.nx_pylab.draw_networkx_nodes(..., ax=Axes[1])

附帶說明一下,您不應對實例變量( pep8 )使用駝峰式大小寫,因為它可能與類名沖突(在這種情況下為matplotlib.axes.Axes )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM