用色阶来描绘Pandas和小Pandas的问题

2024-09-29 17:19:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将色阶应用到我使用pandas、plotly和cuflinks从数据帧生成的图形。在

如果我试着用某种色阶的话,它就坏了:

import pandas as pd
import cufflinks as cf
import colorlover as cl
from plotly.offline import download_plotlyjs, init_notebook_mode,plot,iplot
from IPython.display import HTML

init_notebook_mode(connected=True)
cf.go_offline()

这是我的色阶,我可以像这样显示它们:

^{pr2}$

如果我用'bupu'创建一个绘图,效果很好,但是如果我尝试用'cs12'创建一个相同的绘图,我会得到一个错误:

这是有效的:

df.iplot(kind='bar',colorscale='bupu')

这不会:

df.iplot(kind='bar',colorscale='cs12')

KeyError: 'cs12'


Tags: fromimport绘图pandasinitmodeasplotly
2条回答

From the documentation

colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. [...]

Alternatively, colorscale may be a palette name string of the following list: Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis

为了使用colorlover模块,您可以创建color数组,然后将变量赋给colorscale,例如

import colorlover, plotly

cs12 = colorlover.scales['12']['qual']['Paired']

plotly.plotly.plot(data=[{
  'colorscale': cs12
  'z': [[10, 100.625, 1200.5, 150.625, 2000],
       [5000.625, 60.25, 8.125, 100000, 150.625],
       [2000.5, 300.125, 50., 8.125, 12.5],
       [10.625, 1.25, 3.125, 6000.25, 100.625],
       [0, 0.625, 2.5, 50000.625, 10]],
  'type': 'heatmap'
}])

我刚创建了我自己的定制托盘

mycolors = ['#F81106','#FA726C','#F8C1BE',
            '#137503','#54B644','#B2F5A7',
            '#051E9B','#4358C0','#A6B3F9',
           '#9C06A0','#C34BC6','#F3A1F6',
           '#A07709','#CDA742','#F4DC9D',
           '#08A59E','#4DD5CE','#AAF7F3']

colors=mycolors

相关问题 更多 >

    热门问题