python - 从“转置”的 ColumnDataSource 创建 Bokeh DataTable
问题描述
我想以一种更容易让 DataTable 看到的方式将 DataTable 链接到具有多行的图形。考虑以下示例:
'<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>0.5</th>\n <th>0.75</th>\n <th>0.9</th>\n <th>0.95</th>\n <th>0.99</th>\n <th>A</th>\n <th>B</th>\n <th>C</th>\n <th>D</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>1121045</th>\n <td>75</td>\n <td>90</td>\n <td>103</td>\n <td>112</td>\n <td>124.63</td>\n <td>x</td>\n <td>a</td>\n <td>alpha</td>\n <td>2019-07-18 00:00:00</td>\n </tr>\n <tr>\n <th>1121529</th>\n <td>77</td>\n <td>92</td>\n <td>105.3</td>\n <td>114.65</td>\n <td>992.95</td> <td>x</td>\n <td>a</td>\n <td>alpha</td>\n <td>2019-07-21 00:00:00</td> </tr>\n <tr> <th>4006922</th>\n <td>69</td> <td>86</td> <td>101</td> <td>106</td> <td>116</td> <td>y</td> <td>b</td> <td>beta</td> <td>2019-07-14 00:00:00</td> </tr> <tr> <th>4006926</th> <td>83</td> <td>91</td> <td>112</td> <td>121</td> <td>166</td> <td>y</td> <td>b</td> <td>gamma</td> <td>2019-07-14 00:00:00</td> </tr> <tr> <th>4006927</th> <td>55</td> <td>63</td> <td>72</td> <td>81</td> <td>100</td> <td>y</td> <td>c</td> <td>beta</td> <td>2019-07-14 00:00:00</td> </tr> </tbody></table>'
目前,我正在绘制与 columns 对应的线[0.5, 0.75, 0.9, 0.95, 0.99]
,但这是“逐行”完成的,即每个索引元素一行。这是通过CDSView
对该数据帧进行转置来实现的。本质上,我将索引转换为列并过滤掉线['A', 'B', 'C', 'D']
图。
我想制作一个看起来像上表的 DataTable,使用相同的底层ColumnDataSource
以保留链接的选择行为。
或者,是否有等效于“RowDataSource”的方法?我不知道这种机制,但这将从绘图角度(而不是 DataTable 角度)解决这个问题。
解决方案
推荐阅读
- spring-boot - 无法在 Google Cloud Platform (GCP) 中的 App Engine 上部署 Java Web SpringBootApplication
- sql - 存储过程的@return_value 是什么
- sql - 根据组中是否存在值从重复项中选择两条记录
- mysql - 基于单个查询获取名称
- google-chrome-extension - 我可以在 chrome 扩展程序和基于桌面的应用程序之间共享 gui 代码吗?
- python - 使用 enumerate 函数,有没有办法在不引用元素的情况下引用索引?
- vue.js - 平底锅上的 Nuxt 链接而不是点击?
- python - 根据现有列的值向熊猫数据框添加新列
- asp.net-core - .net core 3.1发布后,web.config中总是出现hostingModel="inprocess",导致无法正常浏览
- c# - 性能测试:当 UI/API 测试的运行时间增加 x% 时标记(Selenium C#)