{"id":433,"date":"2018-08-17T00:13:21","date_gmt":"2018-08-16T16:13:21","guid":{"rendered":"https:\/\/www.zhuyanbin.com\/?p=433"},"modified":"2018-08-29T11:27:22","modified_gmt":"2018-08-29T03:27:22","slug":"shapes-and-line-types","status":"publish","type":"post","link":"https:\/\/www.yanbin888.com\/?p=433","title":{"rendered":"Shapes and line types"},"content":{"rendered":"<div class=\"page-content\">\n<div class=\"toc-content-wrapper\">\n<div class=\"post\">\n<article class=\"post-content\">\n<h2 id=\"problem\">Problem<\/h2>\n<p>You want to use different shapes and line types in your graph.<\/p>\n<h2 id=\"solution\">Solution<\/h2>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-494\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-01.png\" alt=\"\" width=\"350\" height=\"350\" srcset=\"https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-01.png 350w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-01-150x150.png 150w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-01-300x300.png 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-495\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-02.png\" alt=\"\" width=\"350\" height=\"200\" srcset=\"https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-02.png 350w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-02-300x171.png 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<p>Note that with bitmap output, the filled symbols 15-18 may render without proper anti-aliasing; they can appear jagged, pixelated, and not properly centered, though this varies among platforms. Symbols 19 and 21-25 have an outline around the filled area, and will render with smoothed edges on most platforms. For symbols 21-25 to appear solid, you will also need to specify a fill (bg) color that is the same as the outline color (col); otherwise they will be hollow.<\/p>\n<h3 id=\"standard-graphics\">Standard graphics<\/h3>\n<p>Use the <code class=\"highlighter-rouge\">pch<\/code> option to set the shape, and use <code class=\"highlighter-rouge\">lty<\/code> and <code class=\"highlighter-rouge\">lwd<\/code> to set the line type and width. The line type can be specified by name or by number.<\/p>\n<div class=\"language-r highlighter-rouge\">\n<pre class=\"highlight\"><code class=\"hljs sql\"><span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-keyword\">set<\/span>.seed<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">331<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">)<\/span><\/span>\r\n\r\n<span class=\"c1\"><span class=\"hljs-operator\"># Plot <span class=\"hljs-keyword\">some<\/span> points <span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-keyword\">lines<\/span>\r\n# <span class=\"hljs-keyword\">Set<\/span> up the plotting area\r\n<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">par<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">mar<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">3<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">3<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">2<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">2<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n<span class=\"n\"><span class=\"hljs-operator\">plot<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"kc\"><span class=\"hljs-operator\">NA<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">xlim<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">ylim<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n\r\n<span class=\"c1\"><span class=\"hljs-operator\"># Plot solid circles <span class=\"hljs-keyword\">with<\/span> solid <span class=\"hljs-keyword\">lines<\/span>\r\n<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">points<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">:<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">runif<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">type<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"b\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">pch<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">19<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">)<\/span><\/span>\r\n<span class=\"c1\"><span class=\"hljs-operator\"># <span class=\"hljs-keyword\">Add<\/span> <span class=\"hljs-keyword\">open<\/span> squares <span class=\"hljs-keyword\">with<\/span> dashed line, <span class=\"hljs-keyword\">with<\/span> heavier line width\r\n<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">points<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">:<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">runif<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">type<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"b\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">pch<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">lty<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">2<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">lwd<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">3<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">)<\/span><\/span>\r\n\r\n<span class=\"n\"><span class=\"hljs-operator\">points<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">:<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">runif<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">type<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"b\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">pch<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">23<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>   <span class=\"c1\"><span class=\"hljs-operator\"># Diamond shape\r\n<\/span><\/span>       <span class=\"n\"><span class=\"hljs-operator\">lty<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"dotted\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">cex<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">2<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>               <span class=\"c1\"><span class=\"hljs-operator\"># Dotted line, <span class=\"hljs-keyword\">double<\/span>-<span class=\"hljs-keyword\">size<\/span> shapes\r\n<\/span><\/span>       <span class=\"n\"><span class=\"hljs-operator\">col<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"#000099\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">bg<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"#FF6666\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">)<\/span><\/span>       <span class=\"c1\"><span class=\"hljs-operator\"># blue line, red fill\r\n<\/span><\/span><\/code><\/pre>\n<\/div>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-496\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-03.png\" alt=\"\" width=\"400\" height=\"250\" srcset=\"https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-03.png 400w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-03-300x188.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<h3 id=\"ggplot2\">ggplot2<\/h3>\n<p>With ggplot2, shapes and line types can be assigned overall (e.g., if you want all points to be squares, or all lines to be dashed), or they can be conditioned on a variable.<\/p>\n<div class=\"language-r highlighter-rouge\">\n<pre class=\"highlight\"><code class=\"hljs perl\"><span class=\"c1\"><span class=\"hljs-comment\"># Sample data<\/span>\r\n<\/span><span class=\"n\">df<\/span> <span class=\"o\">&lt;-<\/span> <span class=\"n\"><span class=\"hljs-keyword\">read<\/span>.table<\/span><span class=\"p\">(<\/span><span class=\"n\">header<\/span><span class=\"o\">=<\/span><span class=\"nb\">T<\/span><span class=\"p\">,<\/span> <span class=\"n\">text<\/span><span class=\"o\">=<\/span><span class=\"s1\"><span class=\"hljs-string\">'\r\n  cond xval yval\r\n     A    1  2.0\r\n     A    2  2.5\r\n     B    1  3.0\r\n     B    2  2.0\r\n'<\/span><\/span><span class=\"p\">)<\/span>\r\n\r\n\r\n<span class=\"n\">library<\/span><span class=\"p\">(<\/span><span class=\"n\">ggplot2<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c1\"><span class=\"hljs-comment\"># Plot with standard lines and points<\/span>\r\n<span class=\"hljs-comment\"># group = cond tells it which points to connect with lines<\/span>\r\n<\/span><span class=\"n\">ggplot<\/span><span class=\"p\">(<\/span><span class=\"n\">df<\/span><span class=\"p\">,<\/span> <span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\"><span class=\"hljs-keyword\">x<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">xval<\/span><span class=\"p\">,<\/span> <span class=\"n\"><span class=\"hljs-keyword\">y<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">yval<\/span><span class=\"p\">,<\/span> <span class=\"n\">group<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cond<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span>\r\n    <span class=\"n\">geom_line<\/span><span class=\"p\">()<\/span> <span class=\"o\">+<\/span>\r\n    <span class=\"n\">geom_point<\/span><span class=\"p\">()<\/span>\r\n\r\n<span class=\"c1\"><span class=\"hljs-comment\"># Set overall shapes and line type<\/span>\r\n<\/span><span class=\"n\">ggplot<\/span><span class=\"p\">(<\/span><span class=\"n\">df<\/span><span class=\"p\">,<\/span> <span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\"><span class=\"hljs-keyword\">x<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">xval<\/span><span class=\"p\">,<\/span> <span class=\"n\"><span class=\"hljs-keyword\">y<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">yval<\/span><span class=\"p\">,<\/span> <span class=\"n\">group<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cond<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span>\r\n    <span class=\"n\">geom_line<\/span><span class=\"p\">(<\/span><span class=\"n\">linetype<\/span><span class=\"o\">=<\/span><span class=\"s2\"><span class=\"hljs-string\">\"dashed\"<\/span><\/span><span class=\"p\">,<\/span>  <span class=\"c1\"><span class=\"hljs-comment\"># Dashed line<\/span>\r\n<\/span>              <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">1.5<\/span><\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span>       <span class=\"c1\"><span class=\"hljs-comment\"># Thicker line<\/span>\r\n<\/span>    <span class=\"n\">geom_point<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">0<\/span><\/span><span class=\"p\">,<\/span>         <span class=\"c1\"><span class=\"hljs-comment\"># Hollow squares<\/span>\r\n<\/span>               <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">4<\/span><\/span><span class=\"p\">)<\/span>          <span class=\"c1\"><span class=\"hljs-comment\"># Large points<\/span>\r\n<\/span>\r\n<span class=\"c1\"><span class=\"hljs-comment\"># Condition shapes and line type on variable cond<\/span>\r\n<\/span><span class=\"n\">ggplot<\/span><span class=\"p\">(<\/span><span class=\"n\">df<\/span><span class=\"p\">,<\/span> <span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\"><span class=\"hljs-keyword\">x<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">xval<\/span><span class=\"p\">,<\/span> <span class=\"n\"><span class=\"hljs-keyword\">y<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">yval<\/span><span class=\"p\">,<\/span> <span class=\"n\">group<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cond<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span>\r\n    <span class=\"n\">geom_line<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">linetype<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span> <span class=\"c1\"><span class=\"hljs-comment\"># Line type depends on cond<\/span>\r\n<\/span>              <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">1.5<\/span><\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span>       <span class=\"c1\"><span class=\"hljs-comment\"># Thicker line<\/span>\r\n<\/span>    <span class=\"n\">geom_point<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span>   <span class=\"c1\"><span class=\"hljs-comment\"># Shape depends on cond<\/span>\r\n<\/span>               <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">4<\/span><\/span><span class=\"p\">)<\/span>          <span class=\"c1\"><span class=\"hljs-comment\"># Large points<\/span>\r\n<\/span>\r\n\r\n<span class=\"c1\"><span class=\"hljs-comment\"># Same as previous, but also change the specific linetypes and<\/span>\r\n<span class=\"hljs-comment\"># shapes that are used<\/span>\r\n<\/span><span class=\"n\">ggplot<\/span><span class=\"p\">(<\/span><span class=\"n\">df<\/span><span class=\"p\">,<\/span> <span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\"><span class=\"hljs-keyword\">x<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">xval<\/span><span class=\"p\">,<\/span> <span class=\"n\"><span class=\"hljs-keyword\">y<\/span><\/span><span class=\"o\">=<\/span><span class=\"n\">yval<\/span><span class=\"p\">,<\/span> <span class=\"n\">group<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cond<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span>\r\n    <span class=\"n\">geom_line<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">linetype<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span> <span class=\"c1\"><span class=\"hljs-comment\"># Line type depends on cond<\/span>\r\n<\/span>              <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">1.5<\/span><\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span>       <span class=\"c1\"><span class=\"hljs-comment\"># Thicker line<\/span>\r\n<\/span>    <span class=\"n\">geom_point<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span>   <span class=\"c1\"><span class=\"hljs-comment\"># Shape depends on cond<\/span>\r\n<\/span>               <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">4<\/span><\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span>        <span class=\"c1\"><span class=\"hljs-comment\"># Large points<\/span>\r\n<\/span>    <span class=\"n\">scale_shape_manual<\/span><span class=\"p\">(<\/span><span class=\"n\"><span class=\"hljs-keyword\">values<\/span><\/span><span class=\"o\">=<\/span><span class=\"nf\">c<\/span><span class=\"p\">(<\/span><span class=\"m\"><span class=\"hljs-number\">6<\/span><\/span><span class=\"p\">,<\/span><span class=\"m\"><span class=\"hljs-number\">5<\/span><\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span>                  <span class=\"c1\"><span class=\"hljs-comment\"># Change shapes<\/span>\r\n<\/span>    <span class=\"n\">scale_linetype_manual<\/span><span class=\"p\">(<\/span><span class=\"n\"><span class=\"hljs-keyword\">values<\/span><\/span><span class=\"o\">=<\/span><span class=\"nf\">c<\/span><span class=\"p\">(<\/span><span class=\"s2\"><span class=\"hljs-string\">\"dotdash\"<\/span><\/span><span class=\"p\">,<\/span> <span class=\"s2\"><span class=\"hljs-string\">\"dotted\"<\/span><\/span><span class=\"p\">))<\/span> <span class=\"c1\"><span class=\"hljs-comment\"># Change linetypes<\/span>\r\n<\/span><\/code><\/pre>\n<\/div>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-497\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-04.png\" alt=\"\" width=\"200\" height=\"200\" srcset=\"https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-04.png 200w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-04-150x150.png 150w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a> <a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-498\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-05.png\" alt=\"\" width=\"200\" height=\"200\" srcset=\"https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-05.png 200w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-05-150x150.png 150w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a> <a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-499\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-06.png\" alt=\"\" width=\"200\" height=\"200\" srcset=\"https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-06.png 200w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-06-150x150.png 150w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a> <a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-07.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-500\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-07.png\" alt=\"\" width=\"200\" height=\"200\" srcset=\"https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-07.png 200w, https:\/\/www.yanbin888.com\/wp-content\/uploads\/2018\/08\/r-shape-line-07-150x150.png 150w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/p>\n<p>By default, ggplot2 uses solid shapes. If you want to use hollow shapes, without manually declaring each shape, you can use <code class=\"highlighter-rouge\">scale_shape(solid=FALSE)<\/code>. Note, however, that the lines will visible inside the shape. To avoid this, you can use shapes 21-25 and specify a white fill.<\/p>\n<div class=\"language-r highlighter-rouge\">\n<pre class=\"highlight\"><code class=\"hljs cs\"><span class=\"c1\"><span class=\"hljs-preprocessor\"># Hollow shapes<\/span>\r\n<\/span><span class=\"n\">ggplot<\/span><span class=\"p\">(<\/span><span class=\"n\">df<\/span><span class=\"p\">,<\/span> <span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">x<\/span><span class=\"o\">=<\/span><span class=\"n\">xval<\/span><span class=\"p\">,<\/span> <span class=\"n\">y<\/span><span class=\"o\">=<\/span><span class=\"n\">yval<\/span><span class=\"p\">,<\/span> <span class=\"n\"><span class=\"hljs-keyword\">group<\/span><\/span> <span class=\"o\">=<\/span> <span class=\"n\">cond<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span>\r\n    <span class=\"n\">geom_line<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">linetype<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span> <span class=\"c1\"><span class=\"hljs-preprocessor\"># Line type depends on cond<\/span>\r\n<\/span>              <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">1.5<\/span><\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span>       <span class=\"c1\"><span class=\"hljs-preprocessor\"># Thicker <span class=\"hljs-keyword\">line<\/span><\/span>\r\n<\/span>    <span class=\"n\">geom_point<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span>   <span class=\"c1\"><span class=\"hljs-preprocessor\"># Shape depends on cond<\/span>\r\n<\/span>               <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">4<\/span><\/span><span class=\"p\">)<\/span>  <span class=\"o\">+<\/span>       <span class=\"c1\"><span class=\"hljs-preprocessor\"># Large points<\/span>\r\n<\/span>    <span class=\"n\">scale_shape<\/span><span class=\"p\">(<\/span><span class=\"n\">solid<\/span><span class=\"o\">=<\/span><span class=\"kc\">FALSE<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c1\"><span class=\"hljs-preprocessor\"># Shapes with white fill<\/span>\r\n<\/span><span class=\"n\">ggplot<\/span><span class=\"p\">(<\/span><span class=\"n\">df<\/span><span class=\"p\">,<\/span> <span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">x<\/span><span class=\"o\">=<\/span><span class=\"n\">xval<\/span><span class=\"p\">,<\/span> <span class=\"n\">y<\/span><span class=\"o\">=<\/span><span class=\"n\">yval<\/span><span class=\"p\">,<\/span> <span class=\"n\"><span class=\"hljs-keyword\">group<\/span><\/span> <span class=\"o\">=<\/span> <span class=\"n\">cond<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span>\r\n    <span class=\"n\">geom_line<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">linetype<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span> <span class=\"c1\"><span class=\"hljs-preprocessor\"># Line type depends on cond<\/span>\r\n<\/span>              <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">1.5<\/span><\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span>       <span class=\"c1\"><span class=\"hljs-preprocessor\"># Thicker <span class=\"hljs-keyword\">line<\/span><\/span>\r\n<\/span>    <span class=\"n\">geom_point<\/span><span class=\"p\">(<\/span><span class=\"n\">aes<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"n\">cond<\/span><span class=\"p\">),<\/span>   <span class=\"c1\"><span class=\"hljs-preprocessor\"># Shape depends on cond<\/span>\r\n<\/span>               <span class=\"n\">fill<\/span> <span class=\"o\">=<\/span> <span class=\"s2\"><span class=\"hljs-string\">\"white\"<\/span><\/span><span class=\"p\">,<\/span>    <span class=\"c1\"><span class=\"hljs-preprocessor\"># White fill<\/span>\r\n<\/span>               <span class=\"n\">size<\/span> <span class=\"o\">=<\/span> <span class=\"m\"><span class=\"hljs-number\">4<\/span><\/span><span class=\"p\">)<\/span>  <span class=\"o\">+<\/span>       <span class=\"c1\"><span class=\"hljs-preprocessor\"># Large points<\/span>\r\n<\/span>    <span class=\"n\">scale_shape_manual<\/span><span class=\"p\">(<\/span><span class=\"n\">values<\/span><span class=\"o\">=<\/span><span class=\"nf\">c<\/span><span class=\"p\">(<\/span><span class=\"m\"><span class=\"hljs-number\">21<\/span><\/span><span class=\"p\">,<\/span><span class=\"m\"><span class=\"hljs-number\">24<\/span><\/span><span class=\"p\">))<\/span>  <span class=\"c1\"><span class=\"hljs-preprocessor\"># Shapes: Filled circle, triangle<\/span>\r\n<\/span><\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-501\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-08.png\" alt=\"\" width=\"250\" height=\"200\" \/><\/a> <a href=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-09.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-502\" src=\"https:\/\/www.zhuyanbin.com\/wp-content\/uploads\/2018\/08\/r-shape-line-09.png\" alt=\"\" width=\"250\" height=\"200\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"note\">Note<\/h3>\n<p>This code will generate the chart of line types seen at the top.<\/p>\n<div class=\"language-r highlighter-rouge\">\n<pre class=\"highlight\"><code class=\"hljs sql\"><span class=\"n\">par<\/span><span class=\"p\">(<\/span><span class=\"n\">mar<\/span><span class=\"o\">=<\/span><span class=\"nf\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span><span class=\"m\">0<\/span><span class=\"p\">))<\/span>\r\n\r\n<span class=\"c1\"># <span class=\"hljs-operator\"><span class=\"hljs-keyword\">Set<\/span> up the plotting area\r\n<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">plot<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"kc\"><span class=\"hljs-operator\">NA<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">xlim<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">ylim<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">6.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\">-<span class=\"hljs-number\">0.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span>\r\n    <span class=\"n\"><span class=\"hljs-operator\">xaxt<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"n\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">yaxt<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"n\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>\r\n    <span class=\"n\"><span class=\"hljs-operator\">xlab<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"kc\"><span class=\"hljs-operator\">NA<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">ylab<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"kc\"><span class=\"hljs-operator\">NA<\/span><\/span> <span class=\"p\"><span class=\"hljs-operator\">)<\/span><\/span>\r\n\r\n<span class=\"c1\"><span class=\"hljs-operator\"># Draw the <span class=\"hljs-keyword\">lines<\/span>\r\n<\/span><\/span><span class=\"k\"><span class=\"hljs-operator\"><span class=\"hljs-keyword\">for<\/span><\/span><\/span> <span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">i<\/span><\/span> <span class=\"k\"><span class=\"hljs-operator\"><span class=\"hljs-keyword\">in<\/span><\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">:<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">6<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">)<\/span><\/span> <span class=\"p\"><span class=\"hljs-operator\">{<\/span><\/span>\r\n    <span class=\"n\"><span class=\"hljs-operator\">points<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0.25<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span> <span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">i<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">i<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">),<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">lty<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\">i<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">lwd<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">2<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"n\"><span class=\"hljs-operator\">type<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"l\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">)<\/span><\/span>\r\n<span class=\"p\"><span class=\"hljs-operator\">}<\/span><\/span>\r\n<span class=\"c1\"><span class=\"hljs-operator\"># <span class=\"hljs-keyword\">Add<\/span> labels\r\n<\/span><\/span><span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-built_in\">text<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"0. 'blank'\"<\/span><\/span><\/span>   <span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">adj<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n<span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-built_in\">text<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">1<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"1. 'solid'\"<\/span><\/span><\/span>   <span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">adj<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n<span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-built_in\">text<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">2<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"2. 'dashed'\"<\/span><\/span><\/span>  <span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">adj<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n<span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-built_in\">text<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">3<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"3. 'dotted'\"<\/span><\/span><\/span>  <span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">adj<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n<span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-built_in\">text<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">4<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"4. 'dotdash'\"<\/span><\/span><\/span> <span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">adj<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n<span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-built_in\">text<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"5. 'longdash'\"<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">adj<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span>\r\n<span class=\"n\"><span class=\"hljs-operator\"><span class=\"hljs-built_in\">text<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">6<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span> <span class=\"s2\"><span class=\"hljs-operator\"><span class=\"hljs-string\">\"6. 'twodash'\"<\/span><\/span><\/span> <span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span>  <span class=\"n\"><span class=\"hljs-operator\">adj<\/span><\/span><span class=\"o\"><span class=\"hljs-operator\">=<\/span><\/span><span class=\"nf\"><span class=\"hljs-operator\">c<\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">(<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">0<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">,<\/span><\/span><span class=\"m\"><span class=\"hljs-operator\"><span class=\"hljs-number\">.5<\/span><\/span><\/span><span class=\"p\"><span class=\"hljs-operator\">))<\/span><\/span><\/code><\/pre>\n<\/div>\n<\/article>\n<\/div>\n<\/div>\n<\/div>\n<footer class=\"site-footer\">link: <a href=\"http:\/\/www.cookbook-r.com\/Graphs\/Shapes_and_line_types\/\">http:\/\/www.cookbook-r.com\/Graphs\/Shapes_and_line_types\/<\/a><\/footer>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem You want to use different shapes and line types <span class=\"ellipsis\">&hellip;<\/span> <span class=\"more-link-wrap\"><a href=\"https:\/\/www.yanbin888.com\/?p=433\" class=\"more-link\"><span>Read More &rarr;<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[41],"class_list":["post-433","post","type-post","status-publish","format-standard","hentry","category-r","tag-r"],"_links":{"self":[{"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=\/wp\/v2\/posts\/433","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=433"}],"version-history":[{"count":3,"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=\/wp\/v2\/posts\/433\/revisions"}],"predecessor-version":[{"id":504,"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=\/wp\/v2\/posts\/433\/revisions\/504"}],"wp:attachment":[{"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=433"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yanbin888.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}