- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一些正在使用的代码:
这些是创建堆叠条形图的轨迹。现在,我正在寻找一种方法,使这些痕迹根据下拉菜单提供的变量而动态变化。
问题是下拉菜单中的每个选择都不需要所有轨迹。例如,选择 A 没有“住宅”值,这会给我一个错误。
pv = pd.pivot_table(
df_plot,
index=['Year'],
columns=["Market segment"],
values=['Value'],
aggfunc=sum,
fill_value=0)
trace1 = go.Bar(x=pv.index, y=pv[("Value", "Residential")], name="Residential")
trace2 = go.Bar(x=pv.index, y=pv[("Value", "Business – small")], name="Business – small")
trace3 = go.Bar(x=pv.index, y=pv[("Value", "Business – medium")], name="Business - medium")
trace4 = go.Bar(x=pv.index, y=pv[("Value", "Business – micro")], name="Business - micro")
trace5 = go.Bar(x=pv.index, y=pv[("Value", "Business – SME")], name="Business - SME")
trace6 = go.Bar(x=pv.index, y=pv[("Value", "Business")], name="Business")
return {
'data': [trace1, trace2, trace3, trace4, trace5, trace6],
'layout':
go.Layout(
title='Metric: {}'.format(Metric),
barmode='stack')
}
最佳答案
您只需要在准备跟踪时添加一个 if 条件,并实际检查数据透视表中是否有数据。如果没有数据,我们会为跟踪分配一个空对象,请引用下面的最小工作示例,如果这能解决您的问题,请告诉我!
import pandas as pd
import plotly.offline as py_offline
import plotly.graph_objs as go
py_offline.init_notebook_mode()
df_plot = df = pd.DataFrame([[1, 2, 3], [3, 4, 5], [5, 6, 7], [7, 8, 9]], columns=["A", "B", "C"])
pv = pd.pivot_table(
df_plot,
index=['A'],
columns=["B"],
values=['C'],
aggfunc=sum,
fill_value=0)
if 2 in list(pv.columns.levels[1]):
trace1 = go.Bar(x=pv.index, y=pv[("C", 2)], name="Two")
else:
trace1 = {}
if 5 in list(pv.columns.levels[1]):
trace2 = go.Bar(x=pv.index, y=pv[("C", 5)], name="Five")
else:
trace2 = {}
py_offline.iplot({
'data': [trace1, trace2],
'layout':
go.Layout(
barmode='stack')
})
其他详细信息:
下面数据透视表代码的结果是。
pv = pd.pivot_table(
df_plot,
index=['A'],
columns=["B"],
values=['C'],
aggfunc=sum,
fill_value=0)
因此,当您执行 pv.columns
时,我们会获得数据透视表中所有单独列的详细信息,如下所示。
pv.columns
MultiIndex(levels=[['C'], [2, 4, 6, 8]], labels=[[0, 0, 0, 0], [0, 1, 2, 3]], names=[None, 'B'])
您可以简单地创建一个 for 循环来遍历参数数组列表并应用上一个示例中解释的 if 条件
验证并最终绘制它,请引用下面的代码并告诉我如果有任何问题。
import pandas as pd
import plotly.offline as py_offline
import plotly.graph_objs as go
py_offline.init_notebook_mode()
df_plot = df = pd.DataFrame([[1, 2, 3], [3, 4, 5], [5, 6, 7], [7, 8, 9]], columns=["A", "B", "C"])
pv = pd.pivot_table(
df_plot,
index=['A'],
columns=["B"],
values=['C'],
aggfunc=sum,
fill_value=0)
arr = []
params = [{'name': "Two", 'val': 2},{'name': "Five", 'val': 5}]
for param in params:
if param['val'] in list(pv.columns.levels[1]):
temp = go.Bar(x=pv.index, y=pv[("C", param['val'])], name=param['name'])
else:
temp = {}
arr.append(temp)
py_offline.iplot({
'data': arr,
'layout':
go.Layout(
barmode='stack')
})
关于python - 有没有办法为堆叠条形图动态创建跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50546071/
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
在现代 IDE 中,有一个键盘快捷键可以通过键入文件名称来打开文件,而无需将手放在鼠标上。例如: Eclipse:Cmd|Ctrl + Shift + R -> 打开资源 IntelliJ:Cmd|C
有什么东西会等待事件发生(我正在等待的是 WebBrowser.DocumentCompleted),然后执行代码吗?像这样: If (WebBrowser.DocumentCompleted) 不会
我使用 PHP Minify,它很棒。但我的问题是,是否有任何 PHP 插件或其他东西可以自动检测 javascript/css 代码并自动缩小它?谢谢。 最佳答案 Javascript 压缩器? 看
有没有一种语言,类似什么CoffeeScript是JavaScript,编译成windows batch|cmd|command line的语言? 我指的cmd版本是基于NT的,尤其是XP sp3及以
我知道我可以 ,但是,我真的宁愿有一个任务,我可以从任何可以使用所有(或至少大部分)属性的操作系统调用 copy ,但这并没有消除 unix 上的权限。 我想知道是否已经有解决方案,或者我必须自己编
我正在使用 Vuejs(不使用 jQuery)开发一个项目,该项目需要像 jvectormap 这样的 map 但正如我所说,我没有使用 jQuery,那么是否有任何其他库可以在不使用 jQuery
想要进行一个简单的民意调查,甚至不需要基于 cookie,我不在乎投了多少票。有没有类似的插件或者简单的东西? 最佳答案 这是一个有用的教程 - 让我知道它是否适合您 using jQuery to
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
var FileBuff: TBytes; Pattern: TBytes; begin FileBuff := filetobytes(filename); Result := Co
我想要一个 vqmod xml 文件来添加一次上传多个图像的功能。身边有这样的事吗? 编辑:Opencart版本:2.1.0.1 最佳答案 最后我写了一个xml来添加到opencart 2.1.0.1
所以考虑这样的函数: public void setTemperature(double newTemperatureValue, TemperatureUnit unit) 其中Temperatur
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我是 ggplot2 的新手,一直在尝试找到一个全面的美学列表。我想我理解它们的目的,但很难知道哪些可以在各种情况下使用(主要是几何图形?)。 Hadley 的网站偶尔会在各个几何图形的页面上列出可用
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
是否有任何 PHP 函数可以将整数转换为十万和千万? 900800 -> 9,00,800 500800 -> 5,00,800 最佳答案 由于您已在问题标签中添加了 Yii,因此您可以按照 Yii
使用 Clojure 一段时间后,我积累了一些关于它的惰性的知识。我知道诸如map之类的常用API是否是惰性的。然而,当我开始使用一个不熟悉的API(例如with-open)时,我仍然感到怀疑。 是否
我的项目需要一个像 AvalonDock 这样的对接系统,但它的最后一次更新似乎是在 2013 年 6 月。是否有更多...积极开发的东西可以代替它? 最佳答案 AvalonDock 实际上相当成熟并
我正在寻找一个可以逆转 clojure 打嗝的函数 所以 turns into [:html] 等等 根据@kotarak的回答,这现在对我有用: (use 'net.cgrand.enliv
我是一名优秀的程序员,十分优秀!