ComplexListPlot: मूल में भरने वाली लाइनें कैसे जोड़ें?

Sep 15 2020

MMA 12. कई XY- शैली के प्लॉट फ़ंक्शंस Fillingविकल्प का समर्थन करते हैं , इसलिए जैसे कि Filling->Axisहर प्लॉट बिंदु से एक्स अक्ष पर एक रेखा गिरती है, या लाइन और अक्ष के बीच के क्षेत्र को भरने के लिए उपयोग किया जा सकता है (बस कुछ प्रकारों का एक उपयोग इन विकल्पों की पेशकश)।

जब मैं वुल्फराम अल्फा से समीकरण की जड़ों को हल करने के लिए कहता हूं$z^{11}+1=0$, मूल के लिए लाइनों को भरने के साथ पृष्ठ नीचे एक अच्छा साजिश है:

मैं MMA में समान पंक्तियों को आकर्षित करना चाहता हूं ( ComplexListPlotफ़ंक्शन का उपयोग करके ), लेकिन मुझे ऐसा करने का आसान तरीका नहीं मिल रहा है। शायद, स्रोत सूची को Directiveकुछ या बहुत कम सुरुचिपूर्ण ढंग से मालिश करना जैसे कि काम हो जाएगा, लेकिन मुझे संदेह है कि मैं कुछ सरल याद कर रहा हूं।

जटिल विमान में उद्गम के लिए असतत भूखंड बिंदुओं से लाइनें खींचने का सबसे सरल तरीका क्या है? मैं इस सरल ड्राइंग पर शुरू कर रहा हूँ

ComplexListPlot[z /. Solve[z^11 + 1 == 0, z], 
   PlotStyle -> {Red, AbsolutePointSize[6]}, 
   Prolog -> {GrayLevel[0.8], Circle[]}]

अल्फा के कथानक को पुन: उत्पन्न करने के लिए (बॉक्स और अक्ष लेबल को छोड़ता है, लेकिन यह जोड़ने के लिए तुच्छ है)। यह रेडियल लाइनें हैं जो मुझे इस बात से बाँस मिलाती हैं कि कैसे वे असंगत रूप से प्रस्तुत करना चाहते हैं।

जवाब

5 kglr Sep 16 2020 at 02:39
lst = z /. Solve[z^11 + 1 == 0, z];

1. इच्छित पंक्तियों को इसमें जोड़ें Prolog:

ComplexListPlot[lst, PlotStyle -> {Red, AbsolutePointSize[6]}, 
   Prolog -> {GrayLevel[0.8], Circle[], Line[{{0,0}, #} &/@ ReIm[lst]]}]

आगे के विकल्प:

2. वांछित लाइनों को इंजेक्ट करने के लिए पोस्ट-प्रोसेस:

ComplexListPlot[lst, PlotStyle -> {Red, AbsolutePointSize[6]}, 
  BaseStyle -> GrayLevel[.8],  Prolog -> Circle[]] // 
    Normal[#] /. {d_Directive, p_Point} :> { Line[{{0, 0}, #}] & /@ First[p], d, p} &

3. इनपुट Thread[{0, lst}]और विकल्प के साथ एक दूसरा प्लॉट बनाएं और Joined -> Trueमूल प्लॉट का उपयोग करके इसे संयोजित करें Show:

Show[ComplexListPlot[Thread[{0, lst}], Joined -> True,  PlotStyle -> GrayLevel[0.8]], 
 ComplexListPlot[lst, PlotStyle -> {Red, AbsolutePointSize[6]}],
 Prolog -> {GrayLevel[0.8], Circle[]}]

6 cvgmt Sep 16 2020 at 00:42

ComplexListPlotबस किसी प्रकार की PolarPlotहै, तो हम का उपयोग कर सकते हैं PolarGridLinesलाइनों को जोड़ने के लिए।

जटिल बिंदुओं की सूची के लिए, हम Argध्रुवीय कोण प्राप्त करने के लिए उपयोग कर सकते हैं ।

अपडेट करें

pts = z /. Solve[z^11 + 1 == 0, z];
ComplexListPlot[pts, PlotStyle -> {Red, AbsolutePointSize[6]}, 
 PolarAxesOrigin -> {0, 1}, PolarGridLines -> {Arg[pts], {1}}, 
 GridLinesStyle -> Gray, Frame -> True]

मूल

ComplexListPlot[z /. Solve[z^11 + 1 == 0, z], 
 PlotStyle -> {Red, AbsolutePointSize[6]}, 
 PolarAxesOrigin -> {Pi/11, 1}, 
 PolarGridLines -> {Table[i*Pi/11, {i, 1, 22, 2}], {1}}, 
 GridLinesStyle -> Gray, Frame -> True]