วาดกราฟของ


31

ท้าทาย

ได้รับการป้อนข้อมูลของจำนวนเต็มn (ที่ ) การส่งออกกราฟของจากการรวม0<n<50y=Re((n)x)x=3x=3

ที่ไหนเป็นส่วนที่แท้จริงของจำนวนเชิงซ้อนพีRe(p)p

โปรดทราบว่าRe((n)x)=nxcos(πx)

เอาท์พุต

ผลลัพธ์อาจอยู่ในรูปแบบที่คุณต้องการ (เช่นรูปภาพหรือหน้าต่างเป็นต้น) ศิลปะ ASCII ไม่ได้รับอนุญาต

กราฟไม่จำเป็นต้องมีแกน (เพื่ออนุญาตภาษาที่ไม่มีฟังก์ชั่นการสร้างกราฟในตัวเพื่อแข่งขัน)

หากภาพถูกส่งออกแต่ละภาพจะต้องยาวเกิน 500 พิกเซล ในทำนองเดียวกันเนื้อเรื่องจะต้องเติมภาพให้ดีที่สุดเท่าที่จะทำได้

ช่วงเวลาต่ำสุดระหว่างแปลงคือ 0.05

อนุญาตให้ใช้กราฟิกแบบเวกเตอร์

ตัวอย่าง

สำหรับอินพุตของ2:

สำหรับอินพุตของ1:


คุณต้องใส่ผลลัพธ์ที่สอดคล้องกันในคำตอบของคุณ (n = 1 และ n = 2)

การชนะ

รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ


37
ASCII art is disallowed.(ಥ﹏ಥ)
Albert Renshaw

1
แกนสามารถอยู่ที่ขอบซ้ายและขอบล่างของกราฟได้หรือไม่? แทนที่จะอยู่ตรงกลาง?
Kritixi Lithos

2
"ถ้ารูปภาพถูกส่งออกแต่ละด้านจะต้องยาวเกิน 500 พิกเซล" อนุญาตให้ใช้กราฟิกแบบเวกเตอร์หรือไม่
Martin Ender

1
@MartinEnder ใช่ฉันคิดอย่างนั้น
Beta Decay

4
ทำไมฉันไม่แปลกใจที่เห็น MATLAB, MATL และ Mathematica เป็นคำตอบแรก ๆ :)
Kevin Cruijssen

คำตอบ:


12

MATL, 22 18 16 ไบต์

ขอบคุณ @LuisMendo สำหรับการเพิ่ม -2 ไบต์!

I_.01I3$:i_y^&XG


I_                       push 3 and negate         
  .01                    push 0.01
     I                   push 3  
      3$:                generate the list [-3,-2.99,-2.98,...,3]                        
         i_y^            calculate (-input)^(list)                 
             $XG         plot the first list against th real part of the second list

ลองใช้กับ matl.suever.net


21

TI-Basic, 26 21 ไบต์

~3→Xmin
3→Xmax
Prompt N
DrawF N^Xcos(πX

เอาท์พุทสำหรับ N = 2:

TI84SE GRAPH OUTPUT


1
ฉันนับ 47 ตัวอักษรในรหัสของคุณไม่ใช่ 26.
Konrad Rudolph


5
"ถ้ารูปภาพถูกส่งออกแต่ละด้านจะต้องยาวเกิน 500 พิกเซล" ดูเหมือนว่าความสามารถในการสร้างกราฟจะไม่สามารถทำงานได้ที่นี่
user5090812

7
@ user5090812 "ผลลัพธ์อาจอยู่ในรูปแบบที่คุณต้องการ (เช่นรูปภาพหรือหน้าต่างเป็นต้น)" - ฉันกำลังแสดงผลโดยหน้าต่างกราฟไม่ใช่ภาพดังนั้นข้อ จำกัด นี้จึงไม่มีผล
Timtech

1
ใครจะคิดว่าเครื่องคิดเลขกราฟสามารถทำกราฟสิ่งต่างๆ!
PyRulez

15

Bash + Gnuplot, 56 45 ไบต์

(-11 ไบต์ขอบคุณ Noiralef!)

gnuplot -e "se t png;p[-3:3]real((-$1)**x)">A

บันทึกกราฟผลลัพธ์เป็นpngรูปภาพที่มีชื่อAในไดเรกทอรีการทำงานปัจจุบัน

ตัวอย่างผลลัพธ์

สำหรับn = 1 :

สำหรับn = 2 :


1
+1 สำหรับการใช้ langage ที่ฉันใช้ทุกวัน (ไม่มี "เรื่องไร้สาระไบนารีที่อ่านไม่ออก" เหมือนกับ golf-langages ^^) สามารถนำกลับมาใช้ใหม่ได้ในสถานการณ์ประจำวัน
Olivier Dulac

5
คุณสามารถบันทึก 11 ไบต์โดยใช้ตัวย่อ:gnuplot -e "se t png;p[-3:3]real((-2)**x)">A
Noiralef

@Noiralef ขอบคุณ! :)
R. Kap

13

Python 3 ที่มีmatplotlib , 103 72 ไบต์

-12 ไบต์ขอบคุณ DSM (ติดตั้งโมดูลพร้อมกับmatplotlibเรียกpylabใช้งานฟังก์ชั่นที่จำเป็น "ทำให้ Python ในรูปแบบเหมือน Matlab" - แปลก แต่จริง!)
-18 มากขึ้นเป็นผล (pylab มีฟังก์ชั่นมากมายเช่นกัน!)
- 1 ไบต์ต้องขอบคุณ Ajasja (แทนที่arange(-60,61)/20+0jด้วยarange(121)/20-3+0j)

from pylab import*
def f(n):x=arange(121)/20-3+0j;plot(x,(-n)**x);show()

n = 2,1

n = 2 n = 1


2
คุณสามารถกำจัดได้from matplotlib.pyplot import*ถ้าคุณเริ่ม ipython ด้วย --pylab --matplotlib flag?
Ajasja

คุณได้รับ iPython มันทำงานอย่างไร ฉันสงสัยว่ามันจะเป็นที่ยอมรับถ้ามันทำ แต่จะต้องถามตัวเอง ฉันไม่มี iPython และไม่จำเป็นต้องใช้เลย
Jonathan Allan

yup ทำงานร่วมกับ --pylab (ทดสอบกับงูหลาม 2)
Ajasja

ไม่มีสิ่งใดที่ไม่เป็นมาตรฐานในไฟล์กำหนดค่าใด ๆ ที่ทำให้หน้าจอทำงานใช่ไหม ถ้าไม่ใช่ฉันจะบอกว่าโพสต์เป็นคำตอบที่แยกต่างหากในครั้งนี้เนื่องจากเป็นการใช้ภาษา IMO อย่างชาญฉลาด แก้ไข: ฉันเห็นคุณเล่นกอล์ฟที่นั่นด้วย :)
Jonathan Allan

1
ใช่ฉันจำได้ว่า%pylabให้คุณรู้สึกดีและถ้าคุณอยู่ในสมุดบันทึกคุณไม่จำเป็นต้องมีการแสดงในตอนท้าย :)
Ajasja

11

Mathematica, 41 ไบต์

Plot[Re[(-#)^x],{x,-3,3},PlotRange->All]&

ผลลัพธ์มีลักษณะตรงตามที่แสดงในความท้าทายยกเว้นแบบอักษรของตัวเลข (ซึ่งฉันสงสัยว่าถูกสร้างขึ้นด้วย Wolfram Alpha)


11

MATLAB, 35 30 ไบต์

x=-3:.01:3;@(n)plot(x,(-n).^x)

สิ่งนี้นิยามฟังก์ชัน anyonmous ผลลัพธ์คือผ่านหน้าต่างใหม่ที่มีเอาท์พุทกราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ MATLAB เป็นplotโดยอัตโนมัติละเว้นส่วนจินตภาพของ Y-พิกัดตราบใดที่คุณให้สอดคล้องกัน x-coordinates.The n=3การส่งออกต่อไปนี้สำหรับ


10

R, 30 ไบต์

plot(Re((0i-n)^seq(-3,3,.05)))

n = 1

ป้อนคำอธิบายรูปภาพที่นี่

n = 2

ป้อนคำอธิบายรูปภาพที่นี่


3
Oooh pretty วงการ
Beta Decay

2
การแสดงผลเริ่มต้นของ @BetaDecay R น่าเกลียด เหตุผลสำหรับค่าเริ่มต้นคือแวดวงที่ไม่ได้บรรจุจะไม่ซ่อนจุดที่เกินพิกัดมากเท่ากับที่วงกลมหรือจุดที่เติมเต็ม
Konrad Rudolph

5
ฉันไม่คิดว่ามันน่าเกลียด มันดูเท่ห์จริงๆ
mbomb007

1
แกน x มีป้ายกำกับไม่ถูกต้อง ฉันคิดว่าคุณต้องการx=seq(-3,3,.05);plot(x,Re((0i-n)^x))
user2390246

2
@ user2390246 เนื่องจากแกนเป็นทางเลือกโดยสมบูรณ์ฉันไม่คิดว่ามันจะสำคัญ หากการติดฉลากแกนมีความสำคัญคำตอบอื่น ๆ ก็มีปัญหาเนื่องจากการปรับขนาด (เช่นคำตอบ 30-char MATLAB)
Konrad Rudolph

10

R, 29 ไบต์

curve(Re((0i-scan())^x),-3,3)

nมีให้ผ่าน stdin ผลลัพธ์สำหรับ n = 1: ป้อนคำอธิบายรูปภาพที่นี่

และสำหรับ n = 2:

ป้อนคำอธิบายรูปภาพที่นี่


ทำไมไม่ใช้ตัวแปรnเช่นคำตอบอื่น ๆ และโกนอักขระห้าตัวออกจากคำตอบของคุณ อย่างไรก็ตามคำตอบที่บ้า curveฉันมักจะลืมเกี่ยวกับ
Konrad Rudolph

@ KonradRudolph ขอบคุณ จริงมากที่สุดคำตอบอื่น ๆ ทำไม่ได้ npredefine คำตอบ matlab, matl, TI-Basic และ mathematica รับอินพุตเป็น stdin (เท่าที่ฉันเข้าใจ) ในขณะที่คำตอบของ python และ VBA สร้างฟังก์ชั่น แม้ว่าจะได้รับอนุญาตมันเป็นเรื่องของรสนิยมส่วนตัว: ฉันแค่ไม่ชอบตัวแปรที่กำหนดไว้ล่วงหน้าเป็นวิธีการป้อนข้อมูล
plannapus

ขออภัยการแก้ไข: คำตอบ matlab กำหนดฟังก์ชั่นเช่นกัน
plannapus

ดี. นี่คือรหัสกอล์ฟ…
Konrad Rudolph

ฉันไม่ต้องการที่จะพูดจาหยาบคายหรืออะไรเลย แต่จริงๆแล้วในฐานะชุมชนที่เราพิจารณาว่าการใช้ตัวแปรที่กำหนดไว้ล่วงหน้าจะไม่ถือว่าเป็นวิธีการป้อนข้อมูลที่ถูกต้องเว้นแต่จะระบุไว้อย่างชัดเจนในคำถาม
plannapus

8

Excel VBA, 168 160 147 138 ไบต์ (เซลล์เป็นพิกเซลที่ระดับ 100x)

บันทึก 8 ไบต์ขอบคุณ KyleKanos
บันทึก 22 ไบต์ขอบคุณ Taylor Scott

Sub g(n)
For i=0To 1
For x=-3To 3Step.01
y=n^x*Cos([Pi()]*x)
m=IIf(y<m,y,m)
If i Then Cells(500*(1-y/m)+1,(x+3)*100+1)="#
Next x,i
End Sub

จัดรูปแบบดูเหมือนว่านี้:

Sub g(n)
    For i = 0 To 1
    For x = -3 To 3 Step 0.01
        y = n ^ x * Cos([Pi()] * x)
        m = IIf(y < m, y, m)
        If i Then Cells(500 * (1 - y / m) + 1, (x + 3) * 100 + 1) = "#"
    Next x, i
End Sub

สนุกจริง: VBA ไม่ได้มีในตัวpiตัวแปรดังนั้นเราจึงต้องประเมินเป็นฟังก์ชั่นแผ่นที่มันจะมีอยู่

n = 1                                                                          n = 2
n = 1     n = 2


ฉันเริ่มต้นกับรุ่นแผนภูมิที่ 193 ไบต์ แต่ก็ไม่ได้รับผลสวย

Sub c(n)
For x=-3To 3Step 0.05
r=r+1
Cells(r,1)=n^x*Cos(Atn(1)*4*x)
Next
With ActiveSheet.Shapes.AddChart(xlLine).Chart
.SetSourceData Range("A1:A121")
.Axes(xlCategory).Delete
End With
End Sub

n = 1 n = 2
n = 1

n = 2


1
มันใช้งานได้ไม่นานกว่าใช้(-n)^xhardcoding pi หรือเปล่า
Beta Decay

1
@BetaDecay มันจะเป็นไปได้ถ้า Excel สามารถจัดการกับจำนวนลบที่เพิ่มขึ้นเป็นจำนวนเต็มไม่ใช่ลบ¯ \ _ (ツ) _ /
Engineer

2
การใช้atn(1)*4pi นั้นสั้นกว่านี้หรือไม่
Kyle Kanos

2
@ KyleKanos แน่นอนมันเป็นขอบคุณ ฉันไม่พบตัวตนนั้นในตารางการค้นหาค่าคงที่ของฉันและในฐานะวิศวกรนั่นคือสิ่งที่ฉันจำเป็นต้องหยุดตามกฎหมาย
Engineer Toast

1
@TaylorScott นั่นคือสามเทคนิคใหม่ขอบคุณ นั่นมีค่ามากกว่า 7 ไบต์ที่พวกเขาช่วยฉันในครั้งนี้
Engineer Toast

6

MATLAB, 35 33 ไบต์

ขอบคุณสำหรับ @flawr สำหรับการลบ 2 ไบต์!

@(n)ezplot(@(x)real((-n)^x),-3:3)

สิ่งนี้นิยามฟังก์ชันที่ไม่ระบุชื่อ หากต้องการเรียก2ใช้งานด้วยอินพุตให้ใช้ans(2)(หรือกำหนดฟังก์ชั่นให้กับตัวแปรเช่นfจากนั้นใช้f(2))

เอาท์พุทเป็นกราฟิกแบบเวกเตอร์ (หน้าต่างปรับขนาดได้) ช่วงเวลาการสุ่มตัวอย่างบนแกนxถูกกำหนดโดยอัตโนมัติโดยezplotฟังก์ชั่น แต่ดูเหมือนว่าจะเกินพอ

คำเตือนถูกสร้างขึ้นใน STDERR เพราะฟังก์ชั่นที่ส่งผ่านไปยังezplot( @(x)real((-n)^x)) ไม่ได้เป็นแบบเวกเตอร์ แต่มีการสร้างกราฟ

ตัวอย่างสำหรับn = 2:

ป้อนคำอธิบายรูปภาพที่นี่


1
ezplot = la-z-plot: D (ฉันลืมเกี่ยวกับสิ่งนี้ ... )
ข้อบกพร่อง

ฮะ. ไม่เคยรู้เลยว่าคุณสามารถส่งผ่านโดเมนezplotนี้ได้ น่าเศร้าที่ไม่สามารถพูดfplotเช่นนั้นได้ดังนั้นจึงไม่สามารถบันทึกไบต์ได้
Sanchises

@sanchises ฉันไม่รู้ทั้ง :-) มันเป็นความคิดที่สมบูรณ์แบบ
หลุยส์เมนโด

5

สมุดบันทึก Jupyterและ Python 3; 53 ไบต์

%pylab
def f(n):x=arange(121)/20-3+0j;plot(x,(-n)**x)

บันทึกสามไบต์ด้วย @Jonathan Allan

n = 1 n = 2


บิตสองบิต: ถ้าฉันอ่านรายละเอียดที่ถูกต้องคุณต้องมีอย่างน้อย 0.05 (ไม่ใช่ 0.1) ระหว่างจุด (มีผลบังคับใช้) และเราควรจะรวม 3
DSM

คุณสามารถใช้x=arange(-60,61)/20เพื่อแก้ไขปัญหาที่เน้นโดย DSM ในราคา 2 ไบต์ หากคุณเพิ่มลง0jในarangeมันสามารถใช้ในการเปลี่ยนไปสู่plot(x,(-n)**x)การบันทึก 4
Jonathan Allan

@DSM Ops แก้ไขแล้ว
Ajasja

@JanathanAllan ขอบคุณ
Ajasja

ฉันได้ช่วยคุณ 2 คนคุณแค่ช่วยฉัน 1 ด้วยการเปลี่ยนเป็นarange(121)!
Jonathan Allan

3

Encapsulated PostScript; 232 ไบต์

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 500 500
%%EndComments
/n 1 def .02 setlinewidth /f{dup dup n exch exp exch 180 mul cos mul 3 div}def
250 250 translate 80 80 scale newpath -3 f moveto -3 .05 3{f lineto}for stroke
%%EOF

เนื่องจากนี่เป็นภาพเวกเตอร์เอง ...

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


Ooh เป็นสิ่งที่ดี
Beta Decay

3

TikZ + PGFPlotsขนาด 175 ไบต์

\documentclass{standalone}\usepackage{tikz,pgfplots}\begin{document}\typein[\n]{}\tikz{\begin{axis}\addplot[domain=-3:3,samples=120]{\n^x*cos(180*x)};\end{axis}}\end{document}

คอมไพล์ด้วยเช่น , latexmk -cd -f -pdf in.texสำหรับการส่งออกรูปแบบไฟล์ PDF ระหว่างการรวบรวมผู้ใช้จะได้รับพร้อมnต์

เอาต์พุตตัวอย่าง (แปลงเป็น png) สำหรับ n = 1 และ n = 2:

n = 1 n = 2


2

Math.JS Grapherขนาด 20 ไบต์

r(n)=f(x)=re((-n)^x)

โดยฟลุคชันยูทิลิตี้การสร้างกราฟนี้คือ TC (ส่วนใหญ่แล้วอนันต์ลูปจะผิดพลาด) และโดยธรรมชาติแล้วเอาต์พุตหลักคือกราฟ

มันทำงานอย่างไร

r(n)=กำหนดฟังก์ชั่นrซึ่งจะมีการโต้แย้งในการแสดงออกn เป็นตัวอักษรสำหรับคำอธิบายการท้าทาย แต่นี่เป็นการกำหนดฟังก์ชั่นf(x)=re((-n)^x)re((-n)^x)f(x)ให้กับสิ่งนี้ซึ่ง grapher จะแสดงผลเป็นกราฟเส้นโดยปริยาย

วิธีทดสอบ

คุณสามารถใช้นี้r(input)เว็บไซต์เจาะฟังก์ชั่นที่มีอยู่ในนั้นเรียกมันด้วย

เอาท์พุต

เอาท์พุต


2

J , 37 36 ไบต์

ขอบคุณมาร์แชลเพื่อนร่วมงานของฉันสำหรับคำแนะนำ -2 ขอบคุณ FrownyFrog

ฟังก์ชันนำหน้าเงียบโดยไม่ระบุชื่อ

-(]plot@;9 o.^)i:@3j120[load@'plot'

พล็อตหน้าต่าง

-(]plot@;9 o.^)i:@3j120[load@'plot'
                        load@'plot'       NB. load plotting library
               i:@3j120                   NB. -3...3 in 120 steps
-                                         NB. negate argument
 (           ^)                           NB. raise the negated value to those exponents
 (       9 o. )                           NB. real part
 (]     ;     )                           NB. pair with the exponents
 ( plot@      )                           NB. plot it

ผมคิดว่าอาจจะเป็น20%~i:@60 i:@3j120
FrownyFrog

@FrownyFrog ถูกต้อง ขอบคุณ
อดัม

1

Dyalog APL, 41 ไบต์

⎕SE.UCMD∊'chart x(9○(-'⍞')*x←3-20÷⍨⍳121)'

มันทำงานอย่างไร:

⎕SE.UCMD∊'chart x(9○(-'⍞')*x←3-20÷⍨⍳121)' ⍝ Main function
⎕SE.UCMD∊                                 ⍝ User Command (called from the session object)
         'chart                           ⍝ Plot a chart with arguments:
                 (           3-20÷⍨⍳121)' ⍝ Yields the list [-3, -2.95, -2.9,..., 2.9, 2.95, 3]
                           x←             ⍝ Assign that list to x
                          *               ⍝ and use it as exponent
                    (-'⍞')                ⍝ with (-input) as base
                  9○                      ⍝ discard the complex part; this generates Re((-n)^x)
                x                         ⍝ And x.

คำสั่งผู้ใช้]chartในกรณีนี้รับอาร์กิวเมนต์เวกเตอร์สองตัวxและyและแปลงกราฟ:

สำหรับ n=1: n = 1

สำหรับ n=2: n = 2


0

SmileBASIC ขนาด 82 ไบต์

INPUT N
FOR I=0TO 399X=I/66.5-3GPSET I,120-POW(N,X-3*SGN(N-1))*COS(PI()*X)*120NEXT

กราฟเติมทั้งหน้าจอแม้ว่า N จะน้อยกว่า 1

เมื่อ N คือมากกว่า 1 คุณสามารถปรับขนาด Y จะอยู่ระหว่าง -1 ถึง 1 n^3โดยหารด้วย ฉันทำไปแล้วn^xและn^x / n^3สามารถทำให้ง่ายn^(x-3)ขึ้น อย่างไรก็ตามเมื่อ N น้อยกว่า 1 ฉันต้องหาร Y n^-3แทน n^(x+3)นี้จะเทียบเท่ากับ

ฉันสามารถใช้n^(x-3*sign(n-1))เพื่อใช้-3ถ้าn>1และ+3ถ้าn<1

ภาพในเร็ว ๆ นี้


0

Excel VBA, 133 ไบต์

สคริปต์หน้าต่างทันทีที่รับอินพุต[A1]และส่งออกChartวัตถุไปยังSheet1วัตถุ

[B:B]="=ROW()/20-3.05":[C:C]="=A$1^B1*Cos(Pi()*B1)":Set c=Sheet1.Shapes.AddChart(4).Chart:c.SetSourceData[C1:C121]:c.Axes(1).Delete

Ungolfed

Subเวอร์ชั่นเต็มประจำ I / O ไม่เปลี่ยนแปลง

Sub b()
    [B:B] = "=ROW()/20-3.05"                ''  Define `x`-axis
    [C1:C121] = "=A$1^B1*Cos(Pi()*B1)"      ''  Define `y`-axis in terms of input from A1
    Set c = Sheet1.Shapes.AddChart(4).Chart ''  Add line plot to Sheet1 (xlLine)
    c.SetSourceData [C1:C121]               ''  Set `y` source to match `x` in [-3,3]
    c.Axes(1).Delete                        ''  Remove erroneous axes (xlCategory)
End Sub

เอาท์พุต

ในกรณีที่อินพุต n=1

พล็อตเอาท์พุท n = 1

ในกรณีที่อินพุต n=3

พล็อตเอาท์พุท n = 3


0

Julia 0.6 with Plots.jl, 46 bytes

using Plots
~n=plot(real((0im-n).^(-3:.05:3)))

พล็อต GR

สิ่งนี้ต้องการตัวแทน Julia!

ไม่มากที่จะเล่นกอล์ฟที่นี่ว่ายกเว้น (AB) โดยใช้ประกอบการบรรทุกเกินพิกัดเพื่อประหยัดไบต์บน defintion ฟังก์ชั่นและการใช้เพื่อให้จำนวนการป้อนข้อมูลที่มีความซับซ้อนที่ผมอาจจะมักจะมีการใช้0im-n Complex(n)นั่นเป็นสิ่งจำเป็นเพราะใน Julia สำหรับเหตุผลด้านความมั่นคง^ผู้ประกอบการจะส่งกลับผลลัพธ์ที่ซับซ้อนเฉพาะเมื่ออินพุตเป็นคอมเพล็กซ์เท่านั้น ดังนั้นที่นี่เราทำให้มันเป็นจำนวนเชิงซ้อนโดยการเพิ่ม0imเช่น 0i

สิ่งหนึ่งที่น่าสนใจเกี่ยวกับแพคเกจ Plots.jl ก็คือมันจะเลือกแบ็กเอนด์ที่จะใช้โดยอัตโนมัติตามแพ็คเกจการพล็อตที่คุณติดตั้งไว้และตำแหน่งที่คุณกำลังเรียกใช้plotคำสั่ง พล็อตข้างต้นถูกสร้างขึ้นด้วยแบ็กเอนด์GRแต่ถ้าฉันไม่ได้ติดตั้งไว้ (หรือถ้าฉันรันplotly()คำสั่งอย่างที่ฉันทำไว้) มันจะใช้แบ็คเอนด์ Plotly เชิงโต้ตอบและเอาท์พุทนี้มากขึ้น นิด ๆ หน่อย ๆ ดีกว่า IMO):

พล็อตเรื่อง

แม้กระทั่งแบ็กเอนด์UnicodePlotsเพื่อพิมพ์พล็อตในเทอร์มินัล (หรือบันทึกลงในไฟล์ข้อความ) โดยใช้อักขระ Unicode และรหัสสี SE พยายามทำให้การจัดตำแหน่งเป็นเรื่องยุ่งเหยิงถ้าฉันพยายามวางมันโดยตรงดังนั้นนี่คือภาพหน้าจอเทอร์มินัล:

พล็อต UnicodePlots

PS: สูตรทางเลือก Rอี((-n)x)=nxโอs(πx)มีความยาวเท่ากัน:

using Plots
~n=plot(n.^(x=-3:.05:3).*cospi(x))

แดงนั่นคือการใช้ตัวอักษรเบรลล์ (ab) ที่ฉลาด
Zacharý
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.