2013-05-27 11 views
28

Chcę ustawić rozmiar znacznika na wykresie punktowym. To jest mój kod:Ustaw rozmiar punktu zmiennej w 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() 

Plik, który importuję, ma trzy kolumny. Kolumny 1 i 2 są przechowywane w data[0] i) są wartościami (x,y) i chcę, aby każdy punkt ma wielkość w stosunku do kolumny 3 (tj data[2])

Używam Canopy IDE na drodze.

Odpowiedz

31

help(plt.plot) pokazuje więc wydaje

markersize or ms: float   

plt.plot nie pozwala markersize być tablicą.

Można użyć plt.scatter jednakże:

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

PS. Możesz również sprawdzić, czy plt.plot 's markersize musi być zmiennoprzecinkowe, wyszukując "markersize" w the official documentation.

Powiązane problemy