【问题标题】:Custom Colors Bar Graph Plotly - R自定义颜色条形图 Plotly - R
【发布时间】:2016-09-29 16:59:37
【问题描述】:

我有一个分组条形图,我正在尝试自定义每个变量或列的颜色。第一个我能做到,但如果我厌倦了第二个,第三个酒吧就会出现。

解决此问题的最佳方法是什么? 我的代码如下:

SpendOpt <- plot_ly(
  x= TV_Attribute_Solver$Channel,
  y= TV_Attribute_Solver$Current.spend,
  name="Current  Spend",
  type = "bar",
  marker = list(color = "#33aFFF"))


SpendOpt <- add_trace(
  SpendOpt, 
  x=TV_Attribute_Solver$Channel,
  y=TV_Attribute_Solver$Optimized.Spend,
  name = "Optimized Spend",
  type = "bar"
)

数据将是:

> dput(data)

structure(list(Channel = c("13th Street", "7 TWO Sydney", "7MATE Sydney", 
"Arena", "ATN-7 Sydney", "BBC Knowledge"), Current.spend = c(2782L, 
2075L, 990L, 1194L, 32534L, 356L), Optimized.Spend = c(3060.2, 
2282.5, 891, 1313.4, 33410.127, 391.344)), .Names = c("Channel", 
"Current.spend", "Optimized.Spend"), class = "data.frame", row.names = c(NA, 
-6L))

> data
        Channel Current.spend Optimized.Spend 
1   13th Street          2782        3060.200  
2  7 TWO Sydney          2075        2282.500   
3  7MATE Sydney           990         891.000  
4         Arena          1194        1313.400   
5  ATN-7 Sydney         32534       33410.127   
6 BBC Knowledge           356         391.344 

还有没有办法在两个分组之间创造更多的空间? 谢谢你

【问题讨论】:

  • 我没有用plotly 代替R,所以感谢您的间接提示!我打算摆弄这个问题,但是您使用的数据集不清楚。如果它是本地的,请发布一个可复制的示例,以便其他人可以尝试提供帮助。例如,也许使用mtcars?此外,我发现发布您所获得的内容与您想要的内容是可取的。您的问题询问颜色,但您以询问“更多空间”结束。更多的颜色区分?距离更远?有一个视觉辅助会很有帮助。
  • 谢谢你,我已经用数据集更新了问题。条形图是 Current Spend 和 Optimized Spend,我希望每列都有自己的自定义颜色。我能够用标记为第一个栏做到这一点,不幸的是我无法为第二个栏成功。
  • 1) 我添加了一个 dput() 版本(比在表格视图中手动输入更容易)和 2) 我只得到一对蓝条文我运行上面。我应该看到不同的东西吗?

标签: r graph colors plotly


【解决方案1】:

我想我会继续添加答案。我第一次使用plotly,所以我不确定你的代码是如何工作的。也就是说,如果我正确理解了这个问题,您需要根据它是Optimized.spend 还是Current.spend 来选择颜色。我只是将您在上面所做的扩展到第二部分,然后我得到了:

SpendOpt <- plot_ly(
   x= data$Channel,
   y= data$Current.spend,
   name="Current  Spend",
   type = "bar",
   marker = list(color = "#33aFFF")
)


SpendOpt <- add_trace(
   SpendOpt, 
   x=data$Channel,
   y=data$Optimized.Spend,
   name = "Optimized Spend",
   type = "bar",
   marker = list(color = "#afafaf")
)

SpendOpt

我明白了:

如果这是您所期望的,那么您的设置可能还有其他问题。我没有看到提到的“第三条”。您可能想尝试ls() 以查看您创建了哪些变量或仔细检查其他内容。

如果这不是您想要达到的目标,请随时评论/澄清。这可以追溯到我在 cmets 中的建议,即可重现的示例和视觉效果比文字更响亮:例如,将您获得的内容截取并在您选择的编辑器中用标签或手绘更正进行标记。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2014-08-24
    • 2015-05-14
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多