Peneduh antar kurva menggunakan polaraxis
Nov 29 2020
Saya menggunakan pgfplots
dan memplot persamaan r=1
dan r=1-sin(\x/2)
, tetapi saya ingin memberi bayangan pada 3 wilayah berbeda yang dibentuk oleh kurva. Saya menemukan tautan ke laporan bug ini yang menanyakan tentang penggunaan fill between
di polaraxis
lingkungan yang tertaut ke 2 pos TeX.SX lainnya:https://github.com/pgf-tikz/pgfplots/issues/124
Posting ini menaungi area yang mengandung origin: Shading antara grafik dua persamaan kutub di pgfplots
Posting ini menggunakan axis
lingkungan, bukan polaraxis
lingkungan: Mengarsir suatu wilayah di antara dua kurva kutub
Inilah kode yang saya kerjakan:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{polar, fillbetween}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[scale=1]
\begin{polaraxis}
[
domain=0:360,
samples=180,
grid=both,
grid style={line width=0.1pt, draw=gray!75},
major grid style={black},
minor x tick num=3,
minor y tick num=3,
xmin=0, xmax=360,
ymin=0, ymax=2.25,
xtick={0,45,...,360},
xticklabels={},
ytick={3},
yticklabel style={anchor=north},
]
\addplot[draw=red, domain=0:720] {1-sin(\x/2)};
\addplot[draw=blue, domain=0:360] {1};
\end{polaraxis}
\end{tikzpicture}
\end{document}

Jawaban
5 Noname Nov 29 2020 at 07:10
Ini adalah metode yang tidak terlalu canggih tetapi berhasil.
\documentclass{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar, fillbetween}
\pgfplotsset{compat=newest}
\makeatletter
\tikzset{reuse path/.code={\pgfsyssoftpath@setcurrentpath{#1}}}
\makeatother
\begin{document}
\begin{tikzpicture}[scale=1]
\pgfplotsset{set layers}
\begin{polaraxis}
[axis on top,
domain=0:360,
samples=180,
grid=both,
grid style={line width=0.1pt, draw=gray!75},
major grid style={black},
minor x tick num=3,
minor y tick num=3,
xmin=0, xmax=360,
ymin=0, ymax=2.25,
xtick={0,45,...,360},
xticklabels={},
ytick={3},
yticklabel style={anchor=north},
]
\addplot[draw=red, domain=0:720,save path=\RedPath] {1-sin(\x/2)};
\addplot[draw=blue, domain=0:360,save path=\BluePath] {1};
\pgfonlayer{axis background}
\fill[blue!20,reuse path=\BluePath];
\fill[red!20,even odd rule,reuse path=\RedPath];
\clip[reuse path=\BluePath];
\fill[cyan!20,even odd rule,reuse path=\RedPath];
\endpgfonlayer
\end{polaraxis}
\end{tikzpicture}
\end{document}

Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'