Używam Pythona i pliku CSV. Obecnie próbuję zmodyfikować wykres punktowy (2d) poniżej, aby zmienić kolory w oparciu o trzecią kolumnę w moim pliku csv. Po przeszukiwaniu wielu postów, zasadniczo chcę użyć ogólnej mapy kolorów (tęcza) i pomnożyć moją trzecią tablicę przez mapę kolorów, aby wyświetlić różne kolory dla każdego z punktów xy. Myślę, że mogę zrobić wszystko od funkcji ax.scatter
, ale nie jestem pewien, jak pomnożyć każdą inną współrzędną x, y przez mapę kolorów i trzecią liczbę tablic. Powinien wyglądać podobnie do wykresu konturu, ale wolałbym inny kolorowy wykres punktowy.Jak zmodyfikować wykres 2d Scatterplot, aby wyświetlić kolor oparty na trzeciej tablicy w pliku csv?
Oto kod używam:
import matplotlib
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.mlab as mlab
import numpy as np
r = mlab.csv2rec('test.csv')
fig = Figure(figsize=(6,6))
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
x = r.xavg #first column
y = r.yavg #second column
z = r.wtr #third column
ax.scatter(x,y,s=.2,c='b', marker = ',', cmap = ?);
Dziękuję bardzo, że odpowiedział na moje pytanie. Zakładam teraz, że aby zmienić mapę kolorów, mogę śledzić inną dokumentację. Chciałem również zachować elementy płótna w kodzie, aby móc użyć poniższego kodu do zapisania obrazu: "canvas.print_figure (" test.png ", dpi = 250) ' – Jonny
@Nie musisz koniecznie potrzebować obiekt canvas, aby zapisać swoje dane, możesz użyć funkcji [savefig] (http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.savefig). – nye17
Prawda, prawda. Dzięki za opinie – Jonny