如何解决使用R ggplot2为图例键标签上色并删除键
如何用R ggplot2
为图例键标签着色并隐藏键本身?
library(ggplot2)
ggplot(mtcars,aes(wt,mpg,colour = factor(cyl))) +
geom_point()
图例仅包含分别用红色,绿色和蓝色着色的文本标签4
,6
和8
。
解决方法
由于theme
不会接受矢量化输入,因此无法直接使用element_text
进行此操作。通过关闭剪辑并在图例应位于的位置绘制一些文本,可能最容易伪造它:
library(ggplot2)
ggplot(mtcars,aes(wt,mpg,colour = factor(cyl))) +
geom_point() +
geom_text(data = data.frame(wt = c(6,6,6),mpg = c(20,22.5,25,27.5),cyl = c(levels(factor(mtcars$cyl)),"cyl"),colour = c(levels(factor(mtcars$cyl)),"cyl")),aes(label = colour)) +
coord_cartesian(xlim = c(1.5,5.5),clip = "off") +
scale_color_manual(values = c("blue","green","red","black")) +
theme(legend.position = "none",plot.margin = margin(10,50,10,10))
,
Allan的回答也很好,但这是通过制作自己的自定义指南功能来实现的一种更自动化的方法。
C#
由reprex package(v0.3.0)于2020-08-13创建
,您还可以通过重命名AttributeError Traceback (most recent call last)
----> 1 import pandas
~\Anaconda3\lib\site-packages\pandas\__init__.py in <module>
28
29 try:
---> 30 from pandas._libs import hashtable as _hashtable,lib as _lib,tslib as _tslib
31 except ImportError as e: # pragma: no cover
32 # hack but overkill to use re
~\Anaconda3\lib\site-packages\pandas\_libs\__init__.py in <module>
1 # flake8: noqa
2
----> 3 from .tslibs import (
4 NaT,5 NaTType,~\Anaconda3\lib\site-packages\pandas\_libs\tslibs\__init__.py in <module>
1 # flake8: noqa
2
----> 3 from .conversion import localize_pydatetime,normalize_date
4 from .nattype import NaT,NaTType,iNaT,is_null_datetimelike
5 from .np_datetime import OutOfBoundsDatetime
pandas\_libs\tslibs\conversion.pyx in init pandas._libs.tslibs.conversion()
AttributeError: type object 'pandas._libs.tslibs.conversion._TSObject' has no attribute '__reduce_cython__'
变量并将图例使用ggtext
来使用cyl
。可能会有更优雅的方法来确保因子水平匹配...但这是一种以编程方式为图例提供颜色的方法。
element_markdown
由reprex package(v0.3.0)于2020-08-13创建
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。