2013-05-27 30 views
28

Tôi muốn đặt một biến số biến trong ô phân tán. Đây là mã của tôi:Đặt kích thước điểm thay đổi trong matplotlib

import numpy as np 
import matplotlib.pyplot as plt 

from os import getcwd 
from os.path import join, realpath, dirname 

mypath = realpath(join(getcwd(), dirname(__file__))) 
myfile = 'b34.dat' 

data = np.loadtxt(join(mypath,myfile), 
    usecols=(1,2,3), 
    unpack=True) 

fig = plt.figure() 
ax1 = fig.add_subplot(111) 
ax1.plot(data[0], data[1], 'bo', markersize=data[2], label='the data') 
plt.show() 

Tệp tôi đang nhập có ba cột. Cột 1 và 2 được lưu trữ trong data[0] và) là (x,y) giá trị và tôi muốn mỗi điểm để có một kích thước tương ứng với cột 3 (ví dụ: data[2])

Tôi đang sử dụng Canopy IDE bằng cách này.

Trả lời

31

help(plt.plot) lãm

markersize or ms: float   

để nó xuất hiện plt.plot không cho phép markersize là một mảng.

Bạn có thể sử dụng plt.scatter tuy nhiên:

ax1.scatter(data[0], data[1], marker='o', c='b', s=data[2], label='the data') 

PS. Bạn cũng có thể xác minh rằng markersize của phải là phao bằng cách tìm kiếm "đánh dấu" trong the official documentation.

Các vấn đề liên quan