Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >图例未使用手动定义的颜色显示

图例未使用手动定义的颜色显示
EN

Stack Overflow用户
提问于 2020-05-22 22:10:52
回答 1查看 42关注 0票数 1

我在和ggplot2做地图路线。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
colombia_map <- ggplot(data = colombia, mapping = aes(x = long, y = lat, group = group)) + 
  geom_polygon(fill = 'white', color = 'black', size = 1) + 
  coord_quickmap() +
  theme(panel.grid = element_blank(), panel.background = element_blank())

colombia_map1 <- colombia_map +
  geom_point(data = nombres[2:3],
             aes(x = lon, y = lat),
             colour = "Black",
             size = 2, inherit.aes = F) +
    geom_curve(data = avianca,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Avianca"),
             col = "red",
             size = 0.5,
             curvature = 0.2, inherit.aes = F) +
  geom_curve(data = latam,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Latam"),
             col = "darkblue",
             size = 0.5,
             curvature = 0.2, inherit.aes = F) +
  geom_curve(data = easy,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Easy Fly"),
             col = "darkorange",
             size = 0.5,
             curvature = 0.2, inherit.aes = F, show.legend = T) +
  geom_curve(data = viva,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Viva Air"),
             col = "gold",
             size = 0.5,
             curvature = 0.2, inherit.aes = F, show.legend = T) +
  geom_curve(data = satena,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Satena"),
             col = "olivedrab",
             size = 0.5,
             curvature = 0.2, inherit.aes = F, show.legend = T) +
  geom_curve(data = wingo,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Wingo"),
             col = "purple",
             size = 0.5,
             curvature = 0.2, inherit.aes = F, show.legend = T) +
  geom_text_repel(data = nombres,
                  aes(x = lon, y = lat, label = Origen),
                  colour = "black",
                  size = 3.5, inherit.aes = F) +
  scale_color_manual(name = "Operadores",
                     breaks = c("Avianca", "Latam", "Viva Air", "Easy Fly", "Satena", "Wingo"),
                     values = c("Avianca" = "red", "Latam" = "darkblue", "Viva Air" = "gold",
                                "Easy Fly" = "darkorange", "Satena" = "olivedrab", 
                                "wingo" = "purple")) +
  theme(axis.line = element_blank(),
        axis.text.x = element_blank(),
        axis.text.y = element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        axis.ticks = element_blank(),
        rect = element_rect(fill = "transparent")) 

这是输出:

问题是,我尝试了所有的方法,我不明白为什么图例没有出现在剧情中。我试着在一般的地图和每个geom_curve中的美学,但都没有工作!

有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-23 02:55:04

这很难在没有数据的情况下复制,但这里有一个玩具示例,它完成了您正在尝试做的事情。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(ggplot2)
ggplot() +
  geom_line(data = economics, aes(x = date, y = psavert, colour = "PSAVERT")) +
  geom_line(data = economics, aes(x = date, y = uempmed, colour = "UEMPMED")) +
  scale_colour_manual(values = c("PSAVERT"="blue","UEMPMED"="red"))

您必须将颜色值放入aes(...)中,但您可以在其中显式定义标签,它将直接映射到图例。然后您可以使用scale_colour_manual(values = c(....)定义您的颜色。但是在您的示例中,您使用显式的颜色调用覆盖了aes(..)调用,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
geom_curve(data = latam,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Latam"),
             col = "darkblue",
             size = 0.5,
             curvature = 0.2, inherit.aes = F)

因此,考虑到这一点,您可以以一种更简单的方式重写代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
colombia_map <- ggplot(data = colombia, mapping = aes(x = long, y = lat, group = group)) + 
  geom_polygon(fill = 'white', color = 'black', size = 1) + 
  coord_quickmap() +
  theme(panel.grid = element_blank(), panel.background = element_blank())

colombia_map1 <- colombia_map +
  geom_point(data = nombres[2:3],
             aes(x = lon, y = lat),
             colour = "Black",
             size = 2, inherit.aes = F) +
    geom_curve(data = avianca,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Avianca"),
             size = 0.5,
             curvature = 0.2) +
  geom_curve(data = latam,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Latam"),
             size = 0.5,
             curvature = 0.2) +
  geom_curve(data = easy,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Easy Fly"),
             size = 0.5,
             curvature = 0.2) +
  geom_curve(data = viva,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Viva Air"),
             size = 0.5,
             curvature = 0.2) +
  geom_curve(data = satena,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Satena"),
             size = 0.5,
             curvature = 0.2) +
  geom_curve(data = wingo,
             aes(x = flon, y = flat, xend = tlon, yend = tlat, color = "Wingo"),
             size = 0.5,
             curvature = 0.2) +
  geom_text_repel(data = nombres,
                  aes(x = lon, y = lat, label = Origen),
                  colour = "black",
                  size = 3.5, inherit.aes = F) +
  scale_color_manual(name = "Operadores",
                     values = c("Avianca" = "red", "Latam" = "darkblue", "Viva Air" = "gold",
                                "Easy Fly" = "darkorange", "Satena" = "olivedrab", 
                                "wingo" = "purple")) +
  theme(axis.line = element_blank(),
        axis.text.x = element_blank(),
        axis.text.y = element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        axis.ticks = element_blank(),
        rect = element_rect(fill = "transparent")) 

这应该是可行的,但如果没有一个完全可复制的例子,很难保证它。在未来,请使用dput()分享您的数据结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61964625

复制
相关文章
如何在 Python 中的绘图图形上手动添加图例颜色和图例字体大小?
Plotly 的 update_layout() 方法以及legend_font_color和legend_font_size参数可用于手动添加图例颜色和字体大小。下面提供了语法的插图 -
很酷的站长
2023/08/11
8410
如何在 Python 中的绘图图形上手动添加图例颜色和图例字体大小?
自定义图例
legend: { data: [ // "最高分", "最低分" { name: "最高分", textStyle: { fontSize: 12, fontWeight: "bolder", color: "#cccccc" },
用户4344670
2020/05/26
7400
IDEA导入Maven模块未识别,包颜色不对(包显示灰色)
作为一名初学者,导入maven项目经常会出一些问题,要么是没识别出来是maven模块,要么就是包没被idea识别,今天有时间整理一下我遇到的各种问题以及解决方案
鱼找水需要时间
2023/02/16
6.9K0
IDEA导入Maven模块未识别,包颜色不对(包显示灰色)
gguidance优雅的自定义图例
R语言数据分析指南
2023/08/18
1870
gguidance优雅的自定义图例
matlab使用缩放颜色显示图像-imagesc
imagesc(C) 将数组 C 中的数据显示为一个图像,该图像使用颜色图中的全部颜色。C 的每个元素指定图像的一个像素的颜色。生成的图像是一个 m×n 像素网格,其中 m 和 n 分别是 C 中的行数和列数。这些元素的行索引和列索引确定了对应像素的中心。
用户9925864
2022/12/16
2.3K0
matlab使用缩放颜色显示图像-imagesc
自定义图例事件
主要思路 增加无数据的 series[i] ,产生额外的图例图标 监听「legendselectchanged」事件,更新图表数据源,实现所需图形的显示 / 隐藏 具体实现 准备原始数据、准备过滤原始数据的函数 arrFilter(): datasetSource = [ ['product', '2015', '2016', '2017', '2018'], ['Matcha Latte', 43.3, 85.8, 93.7, 54.2], ['Milk Tea', 83
ZXand618
2022/04/10
4470
自定义图例事件
echarts教程(四): 配置hover时突出显示图例,隐藏其他图例
达到的效果是,隐藏其他图例,只显示当前hover的图例,在emphasis中也可以配置更多的hover效果
拿我格子衫来
2022/01/24
3K0
echarts教程(四): 配置hover时突出显示图例,隐藏其他图例
qcustomplot添加图例_qchart显示点数据
LXTracer::LXTracer(QCustomPlot *_plot, TracerType _type, QObject *parent)
全栈程序员站长
2022/11/08
2.2K0
【目标检测】YOLOv5:标签中文显示/自定义颜色
本篇主要用来实现将YOLOv5输出的标签转成中文,并且自定义标签颜色的需求。 我所使用的是YOLOv5-5.0版本。
zstar
2022/09/21
3.6K0
【目标检测】YOLOv5:标签中文显示/自定义颜色
使用HSB而不是RGB来定义颜色
有多种方法可以在代码中定义颜色。最常用的方法是指定三种基色的值 - 红色、绿色和蓝色 (RGB)。本文通过指定色调、饱和度和亮度 (HSB) 的值来探索替代机制的使用。可以以更直观的方式使用 HSB 属性来创建颜色搭配良好的调色板。
韦弦zhy
2023/01/06
2.7K0
使用HSB而不是RGB来定义颜色
【Qt编程】基于QWT的曲线绘制及图例显示操作
http://blog.csdn.net/tengweitw/article/details/41911035
bear_fish
2018/09/20
6.9K0
【Qt编程】基于QWT的曲线绘制及图例显示操作
echo 命令显示带颜色的字
定义变量的时候,把echo -e定义到变量中,然后输出变量 可以让echo输出显示颜色的shell脚本
咻一咻
2020/05/29
2.9K0
Mac OpenGL入门:显示颜色
这里以显示一个红色的窗口为例,展示Mac下运行OpenGL代码的一些配置项。这里采用c++ 和cmake来编译代码的方式,比用xcode更直观。
王云峰
2023/10/21
1900
linux显示颜色设置命令_ubuntu修改终端颜色
Ubuntu的主题中,我比较喜欢使用Radiance主题,但是他的工具提示颜色我很不喜欢,因为看其来很不顺眼,虽然可以在自定义中的颜色中进行调节,但是我有觉得出现一个自定义主题很不好看所以开始手动修改主题中的颜色显示。
全栈程序员站长
2022/11/09
3.9K0
layui单选框未显示的问题
一开始还没导入idea的时候,单纯点击一个网页是有显示出来的,当我把这个带有单选框的网页放到idea的项目中去的时候,发现单选框没显示出来。 1.首先在确认js.css等东西有导入,和之前的网页也没有什么区别 2.网上查询之后, 解释:有些时候,你的有些表单元素可能是动态插入的。这时 form 模块 的自动化渲染是会对其失效的。虽然我们没有双向绑定机制, 但没有关系,你只需要执行 form.render(type, filter); 方法即可。
全栈程序员站长
2022/08/23
5.3K0
在Hanlp词典手动添加未登录词的方式介绍
在使用Hanlp词典进行分词的时候,会出现分词不准的情况,原因是内置词典中并没有收录当前这个词,也就是我们所说的未登录词,只要把这个词加入到内置词典中就可以解决类似问题,如何操作呢,下面我们来看一下:
IT小白龙
2019/01/25
4460
在Hanlp词典手动添加未登录词的方式介绍
Power BI DAX自定义图表的图例怎么画
本公众号已经使用DAX内嵌SVG的方式自定义了一大票图表,读者可点击本文上方的#图表标签查看。很多时候,图表需要使用图例,例如下方的同期对比图:
wujunmin
2022/07/13
1.8K0
Power BI DAX自定义图表的图例怎么画
Matplotlib配置图例legend()设置透明和并排显示
下面我们将以加利福尼亚州所有城市的数据(提取码666)为例来绘图,最终效果是将绘制出各个城市的位置,同时以城市面积大小来使用不同大小的圆表示
汀丶人工智能
2022/12/21
1.7K0
Matplotlib配置图例legend()设置透明和并排显示
点击加载更多

相似问题

plt图例颜色未显示

11

未显示的情节图例颜色,随机情节颜色

10

使用matplotlib Python手动设置图例颜色

320

ggplot2手动图例未显示

12

图例中未显示图例

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文