2
$\begingroup$
ContourPlot[(x^2 + (y + 1)^2 - 2)^3 == x^2*(y + 1)^3, {x, -3.2, 
  3.2}, {y, -3.2, 3.2}, ContourStyle -> {Black}, Axes -> False, 
 Frame -> False, ImageSize -> {1000, 1000}]  

You will find output is not smooth as expect,even I output as EPS format.
How to solve this problem? Or other software suggestion.
Thanks!

$\endgroup$
  • $\begingroup$ try adding option PlotPoints->50 $\endgroup$ – ubpdqn Jan 15 '18 at 9:30
  • $\begingroup$ try PlotPoints -> 150 and/or MaxRecursion -> 5? $\endgroup$ – kglr Jan 15 '18 at 9:30
  • $\begingroup$ Even I set PlotPoints -> 400, MaxRecursion -> 10 ,still can see a breakpoint $\endgroup$ – kittygirl Jan 15 '18 at 10:08
1
$\begingroup$

You can also use Reduce and select real solutions (in addition to increasing PlotPoints with/without increasing MaxRecursion):

ans = y /. {ToRules[
    Reduce[(x^2 + (y + 1)^2 - 2)^3 == x^2*(y + 1)^3, {x, y}]]};
f[a_?NumericQ, n_] := ans[[n]] /. x -> a
Plot[{f[x, 1], f[x, 2]}, {x, -3, 3}, Axes -> False, PlotStyle -> Black]

enter image description here

$\endgroup$
  • $\begingroup$ You can find there's a break point $\endgroup$ – kittygirl Jan 15 '18 at 9:48
  • $\begingroup$ @kittygirl I take your point. I did not increase PlotPoints for this (as I suggested in my comment for ContourPlot). You may prefer to do that. Good luck. Merely wanted to illustrate other ways. $\endgroup$ – ubpdqn Jan 15 '18 at 9:50
0
$\begingroup$

You should add the PlotPoints->50 in your plot definition. You can increase the number to more than 50 if you need higher smoothing..enter image description here

$\endgroup$
  • $\begingroup$ even I set Plotponts to 250, still has break point at H:722.86, W:408.17 px. At that point, the curve is not smooth. $\endgroup$ – kittygirl Jan 15 '18 at 9:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.