【发布时间】:2018-10-27 18:38:25
【问题描述】:
我正在尝试使用 Plotly 和 Python3 可视化包含一些异常值的数据。异常值导致色标图例看起来很糟糕:只有很少的高数据点,但图例看起来很糟糕:2k 和 10k 之间的空间太大。
那么问题来了,如何改变右边“颜色图例”的外观(见下图),所以它会主要显示 0 到 2k 之间的差异?不幸的是,无法从this doc 文件中得到答案
示例代码(jupyter notebook):
import numpy as np
from plotly.offline import download_plotlyjs, init_notebook_mode, iplot
from plotly.graph_objs import *
init_notebook_mode()
x = np.random.randn(100,1) + 3
y = np.random.randn(100,1) + 10
x = np.reshape(x, 100)
y = np.reshape(y, 100)
color = np.random.randint(0,1000, [100])
color[[1,3,5]] = color[[1,3,5]] + 10000 # create outliers in color var
trace = Scatter(
x = x,
y = y,
mode = 'markers',
marker=dict(
color = color,
showscale=True,
colorscale = [[0, 'rgb(166,206,227, 0.5)'],
[0.05, 'rgb(31,120,180,0.5)'],
[0.1, 'rgb(178,223,138,0.5)'],
[0.15, 'rgb(51,160,44,0.5)'],
[0.2, 'rgb(251,154,153,0.5)'],
[1, 'rgb(227,26,28,0.5)']
]
)
)
fig = Figure(data=[trace])
iplot(fig)
我在寻找什么:
【问题讨论】:
-
我觉得这个问题不清楚。您是否需要以某种方式切割 2k 和 10k 之间的颜色条?
-
我想拉伸 0 和 2k 之间的距离,这样更容易看出那里的差异,这会缩短 2k 和 10k 之间的距离,因为它并没有真正显示任何东西对我有帮助
-
不幸的是,我认为这不能在情节中完成。把你的问题放在我的收藏夹里,因为我也有兴趣。感谢询问
-
仅在图例中拉伸 [0,2K] 是不可能的 AFAIK。我认为您需要的是数据的日志转换,而不仅仅是图例。你说传说没用,其实连剧情都不好读,我们只能看到一堆点“在”10左右。
-
我想我可以想出一个更好的例子。即使您删除了 x 和 y 的“异常值”,只留下“离群值”的颜色 - 图例的问题仍然存在。我会在一分钟内更新示例。
标签: python python-3.x jupyter-notebook plotly