标签: plotly

在 Plotly 中分组的分组条形图

我试图在 plotly 中创建一个分组条形图,但我似乎无法在一个组中为我的条形着色(所以它们都是相同的颜色)。有谁知道如何在情节中做到这一点?我想根据子类别为我的条形图着色(因此子类别中的所有条形都有自己的颜色)。我曾尝试向图形添加跟踪,但没有运气。谢谢。

sample <- data.frame(
  Category <- c("Furniture","Furniture","Furniture","Furniture",
                "Office Supplies","Office Supplies", "Office Supplies", "Office Supplies",
                "Office Supplies", "Office Supplies", "Office Supplies", "Office Supplies",
                "Office Supplies", "Technology","Technology","Technology","Technology"),
  SubCategory <- c("Bookcases","Chairs","Furnishings","Tables","Appliances","Art","Binders","Envelopes", 
                   "Fasteners","Labels","Paper","Storage",  "Supplies", "Accessories","Copiers","Machines",
                   "Phones"),
  sales <- c(889222.51,920892.65,239840.16,445823.93,614737.91,225594.68,281494.68,104903.88,50156.06,44269.30,
             150113.36,692903.08,152196.19,463383.33,965899.78,458655.43,1005525.38)
)

#plot code so far
sample %>%
  plot_ly(
    x = Category,
    y = sales,
    type = "bar",
    group = SubCategory
  )
Run Code Online (Sandbox Code Playgroud)

下面是我到目前为止所拥有的,但着色不是基于分组的。当我提供颜色变量时,它不会将 SubCategory 中的所有条形着色为相同的颜色。这是可能的错误吗? 在此处输入图片说明

r plotly

1
推荐指数
1
解决办法
1万
查看次数

plotly js:热图中色标的位置和长度

使用 plotly.js,您可以制作热图,热图的右侧带有色标,一些 3d 图表也是如此。

这是codepen 中的一个例子

在此处输入图片说明

Plotly.d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) {
var data = [{
    z: figure.z,
    colorscale: 'Jet',
    type: 'heatmap'
  }
];
var layout = {title: 'Jet'};
Plotly.newPlot('myDiv', data, layout);
});
Run Code Online (Sandbox Code Playgroud)

我正在努力查看 api 是否允许修改色标位置长度。plotly.js 是否允许操作这些属性,您是否有热图和/或 3d 图形的示例?

javascript plotly

1
推荐指数
1
解决办法
4455
查看次数

R plotly,鼠标悬停在绘图上时的正常光标

默认情况下,当鼠标悬停在图形光标上时,绘图光标变为“指针”,知道如何保持正常光标吗?

r cursor plotly

1
推荐指数
1
解决办法
1837
查看次数

使用 R 的轮廓图

我正在尝试从 3 个向量在 R 中创建等高线图。

我有:

x=c(1,1,1,2,2,2,3,3,3)
y=c(0,10,20,0,10,20,0,10,20)
z=c(900,800,700,600,500,400,300,200,100)
Run Code Online (Sandbox Code Playgroud)

我想绘制类似的东西(在 SigmaPlot 中制作) 在此处输入图片说明

我怎样才能在 R 中做到这一点?

r contour ggplot2 plotly r-plotly

1
推荐指数
1
解决办法
8062
查看次数

ggplot 版本的点图

好奇如何使用 ggplot 或 plotly 库函数绘制这个点图。还要在各个点上标记 mpg 值。

# Dotplot: Grouped Sorted and Colored
# Sort by mpg, group and color by cylinder 
x <- mtcars[order(mtcars$mpg),] # sort by mpg
x$cyl <- factor(x$cyl) # it must be a factor
x$color[x$cyl==4] <- "red"
x$color[x$cyl==6] <- "blue"
x$color[x$cyl==8] <- "darkgreen"    
dotchart(x$mpg,labels=row.names(x),cex=.7,groups= x$cyl,
         main="Gas Milage for Car Models\ngrouped by cylinder",
         xlab="Miles Per Gallon", gcolor="black", color=x$color)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

r ggplot2 plotly ggplotly

1
推荐指数
1
解决办法
384
查看次数

如何在 Python3 中安装袖扣?

我在 macOS 上使用 Python 3。我安装了袖扣,但 IDLE 显示

ModuleNotFoundError: No module named 'cufflinks'

我在终端中使用了多个命令,例如:

pip install cufflinks
conda install cufflinks
conda install -c bioconda cufflinks
pip3 install cufflinks
conda-forge install cufflinks
Run Code Online (Sandbox Code Playgroud)

我什至多次尝试卸载并重新安装袖扣,但 IDLE 仍然无法正常工作。

python macos pip python-3.x plotly

1
推荐指数
2
解决办法
1万
查看次数

使情节水平的 yaxis 标题

我正在尝试组合一系列R plotly绘图 - 垂直,但由于每个单独绘图的 y 轴标题是水平的,因此组合绘图变得混乱。

这是我的例子:

数据:

set.seed(1)
df <- data.frame(cluster=unlist(lapply(letters[1:10],function(i) rep(paste0("cluster:",i),200))),
                 group=rep(c(rep("A",100),rep("B",100)),10),val=rnorm(2000))
df$group <- factor(df$group,levels=c("A","B"))
Run Code Online (Sandbox Code Playgroud)

绘制一个图列表density,每个df$cluster

library(plotly)

plot.list <- lapply(unique(df$cluster),function(i){
  density.df <- do.call(rbind,lapply(c("A","B"),function(b){
    dens <- density(dplyr::filter(df,cluster == i,group == b)$val,adjust=1)
    return(data.frame(x=dens$x,y=dens$y,group=b,stringsAsFactors=F))
  }))
  density.df$group <- factor(density.df$group,levels=c("A","B"))
  
  if(i == unique(df$cluster)[1]){
    cluster.plot <- plot_ly(x=~density.df$x,y=~density.df$y,type='scatter',mode='lines',color=~density.df$group,line=list(width=3),showlegend=T) %>%
      layout(xaxis=list(title="Val",zeroline=F),yaxis=list(title=i,zeroline=F,showticklabels=F),legend=list(orientation="h",xanchor="center",x=0,y=1))
  } else{
    cluster.plot <- plot_ly(x=~density.df$x,y=~density.df$y,type='scatter',mode='lines',color=~density.df$group,line=list(width=3),showlegend=F) %>%
      layout(xaxis=list(title="Val",zeroline=F),yaxis=list(title=i,zeroline=F,showticklabels=F))
  }
  return(cluster.plot)
})
Run Code Online (Sandbox Code Playgroud)

然后,使用以下方法组合它们:

subplot(plot.list,nrows=length(plot.list),shareX=T,shareY=T,titleX=T,titleY=T)
Run Code Online (Sandbox Code Playgroud)

给出: 在此处输入图片说明

如何将每个图的 y 轴标题旋转plot.list为水平而不是垂直?

r title subplot plotly

1
推荐指数
1
解决办法
1990
查看次数

使用 Pandas DataFrame 的饼图

我正在使用 Jupyter 笔记本,它在离线模式下绘制条形图没有问题。

我有一个读取 CSV 文件的 Pandas 数据框,我想在 Plotly(离线模式)中快速创建一个饼图。

如果省略,则绘制饼图值 ( https://plot.ly/python/reference/#pie-values ) 计算标签。这就是我所希望的。我想直接从我的熊猫数据框中设置饼图标签(https://plot.ly/python/reference/#pie-labels)。

我的代码:

import plotly as py
import plotly.graph_objs as go
import pandas as pd
from plotly.offline import init_notebook_mode

init_notebook_mode()

df2 = pd.read_csv("./testdata.csv")

trace = go.Pie(
    labels= df2["Vendor"]
)

py.offline.plot(trace, filename='pdq_pie_chart.html')
Run Code Online (Sandbox Code Playgroud)

尝试此操作时出现错误:

PlotlyError: The `figure_or_data` positional argument must be `dict`-like, `list`-like, or an instance of plotly.graph_objs.Figure
Run Code Online (Sandbox Code Playgroud)

在 go.Pie 调用之前,我是否错过了什么?我故意没有进入任何格式选项,并希望使用尽可能少的数据帧代码生成饼图。

python pandas plotly python-3.6

1
推荐指数
1
解决办法
6564
查看次数

如何在plotly中子绘制饼图?

如何在“无花果”中子绘制“pie1”,使其位于“第一个”位置。这就是我的做法,但它不起作用

    import pandas as pd
    import numpy as np
    import seaborn as sns
    import plotly.offline as pyp
    import plotly.graph_objs as go
    from plotly import tools
    import plotly.plotly as py
    from plotly.offline import iplot,init_notebook_mode
    from IPython.core.display import HTML
    import plotly.io

    df1=pd.read_excel('file.xlsx',sheet_name='sheet1',index=False)
    con_pivot=pd.pivot_table(con,index='Category',values=('Payment'),aggfunc='sum',margins=True,margins_name='Total')

    fig = tools.make_subplots(rows=2, cols=2, subplot_titles=('The first','3','2','4'))

    pie1=go.Pie(labels=con_pivot.index,values=con_pivot.values)
    fig.append_trace(pie1,1,1)
    pyo.plot(fig)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。谢谢

python ipython pandas subplot plotly

1
推荐指数
2
解决办法
7174
查看次数

Django 中的 Plotly 和袖扣

我目前正在试验如何将图形显示到我的 django 模板中。通过将绘图转换为图像然后将其显示在模板中,我取得了一些成功。但是这种方案不适合像 Plotly 和 Cufflinks 这样的交互式图形。

如何将 Plotly 和 Cufflinks 嵌入到我的 django 模板中,以便我的图形具有交互性?

django plotly

1
推荐指数
1
解决办法
798
查看次数