我想繪製一個網格,其中網格中的每個節點都由一個點繪製,並帶有特定的顏色代碼(取自存儲在節點中的矢量)。這裏查找散點圖的正確標記大小
電網取決於我運行的模擬的大小而變化的大小。我還沒有弄清楚畫布大小和標記大小之間的關係。現在我使用下面的公式:
markersize = (figsize*figsize*dpi*dpi)/(xdim*ydim)
plt.scatter(X, Y, s=markersize/3, marker='s', c=Z, cmap=cm.rainbow)
plt.show()
即我由網格的維數的平方和sigsize的DPI(使用15和80分別地),和除法。最後,我發現這個工作,我除以3。
但我還沒有能夠解決如何分析得到正確的標記大小。我想要的是一個網格,每個方格使用盡可能多的空間,但沒有在其他節點的空間上「infringinig」,以便標記重疊。
據我所知,figsize以英寸給出。 dpi是 - 每英寸點數,並且標記大小用 - 點指定。如果點與點相同,那麼您將在每個座標軸上具有圖形大小的點。 ydim是我網格中節點的數量。然後將ydim分爲pow(dpi)和xdim(ydim),然後給出每個節點的點數,以及我認爲的每個標記的正確大小。但是這使得標記太大了。我潛伏了3,它對我通常跑步的體型幾乎起作用,但不是全部。 (我猜猜點和點不一樣,但關係是什麼?)
如何解決這個問題的正確答案?理想情況下,我想要一幅非常細膩的照片,我可以放大某些區域以更細緻地觀察顏色細微差別。
那麼如果你有一個各向同性的數據,其中fig_size_x = fig_size_y你可以這樣做: 'marker_size = fig_x * fig_dpi/xdim。 ax.scatter(x,y,z,marker ='s',c = areaImg [x,y,z],s = marker_size,zdir ='z', cmap = plt.cm.rainbow)'。 然後爲了得到清晰的結構,您可以使用[interpolation](http://matplotlib.org/examples/images_contours_and_fields/interpolation_methods.html) – bazilevs31