Mathematica: línies blanques en les regions del ContourPlot, RegionPlot i similars

by marti

La funció ContourPlot del Mathematica et genera el contorn d’una funció de dues variables, f(x,y). RegionPlot fa una cosa similar. Si feu servir sovint el Mathematica segurament les coneixeu.

Si a més heu d’enviar articles a revista que et demanen les figures en format EPS (o PDF), segurament també us haurem trobat que el plot al Mathematica es veu bé, però una vegada l’exporteu via un

Export["figura.eps",fig]

la figura que us resulta té aquesta pinta:

Això és perquè el Mathematica “omple” les regions dibuixant petits triangles, i les arestes d’aquests triangles (que en principi haurien de ser invisibles, però no s’exporten bé) no se superposen, de manera que s’acaben veient a l’arxiu exportat. Després de barallar-m’hi una bona estona, he trobat (en aquest enllaç) la següent solució, que bàsicament el que fa és acolorir l’aresta de cada triangle amb el color del seu triangle:

Export["figura.eps",fig/. {EdgeForm[],
r_?(MemberQ[{RGBColor, Hue, CMYKColor, GrayLevel}, Head[#]] &),
i___} :> {EdgeForm[r], r, i}]

El resultat és el que s’esperaria:

Pels interessats amb temps, sembla ser que hi ha solucions més generals i robustes aquí.

About these ads