Bokeh stack chart legend incorrectHow to put the legend out of the plotstacked Bar charts in BokehMoving a stacked bar that that worked in Bokeh 0.9 to Bokeh 0.11Setting Legend on multiple columns with Bokeh ChartsBokeh - Stacked and grouped chartsBokeh 100% Stacked Bar ChartCreate stacked bar chart using bokeh in pythonBokeh 12.0.15- stacked grouped barsBokeh Horizontal Stacked Bar ChartInclude Bokeh Tooltips in stacked bar chart
Why was ramjet fuel used as hydraulic fluid during Saturn V checkout?
How could Tony Stark wield the Infinity Nano Gauntlet - at all?
Would getting a natural 20 with a penalty still count as a critical hit?
What allows us to use imaginary numbers?
"A y'vama acquires herself through chalitza", really?
Which basis does the wavefunction collapse to?
Why did St. Jerome use "virago" in Gen. 2:23?
What should I do with the stock I own if I anticipate there will be a recession?
Have made several mistakes during the course of my PhD. Can't help but feel resentment. Can I get some advice about how to move forward?
What was the intention with the Commodore 128?
Starships without computers?
Why is the name Bergson pronounced like Berksonne?
Earliest evidence of objects intended for future archaeologists?
Polar contour plot in Mathematica?
The Lucky House
What happened after the end of the Truman Show?
!I!n!s!e!r!t! !b!e!t!w!e!e!n!
Rotate List by K places
Show two plots together: a two dimensional curve tangent to the maxima of a three dimensional plot
Quick destruction of a helium filled airship?
What exactly happened to the 18 crew members who were reported as "missing" in "Q Who"?
To plot branch cut of logarithm
Installing certbot - error - "nothing provides pyparsing"
Spongy green glass found on graves
Bokeh stack chart legend incorrect
How to put the legend out of the plotstacked Bar charts in BokehMoving a stacked bar that that worked in Bokeh 0.9 to Bokeh 0.11Setting Legend on multiple columns with Bokeh ChartsBokeh - Stacked and grouped chartsBokeh 100% Stacked Bar ChartCreate stacked bar chart using bokeh in pythonBokeh 12.0.15- stacked grouped barsBokeh Horizontal Stacked Bar ChartInclude Bokeh Tooltips in stacked bar chart
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
i have a dataframe
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
I am creating a stacked chart in Bokeh. Creating the chart is fine, but the legend is incorrect.
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014', '01/01/2015', '01/01/2016'],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
I think above in the line below, i have set the legend to the years. However as in the image, it has set to three points in the graph.
legend = ['01/01/2014', '01/01/2015', '01/01/2016']
python bokeh stacked-chart
add a comment |
i have a dataframe
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
I am creating a stacked chart in Bokeh. Creating the chart is fine, but the legend is incorrect.
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014', '01/01/2015', '01/01/2016'],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
I think above in the line below, i have set the legend to the years. However as in the image, it has set to three points in the graph.
legend = ['01/01/2014', '01/01/2015', '01/01/2016']
python bokeh stacked-chart
add a comment |
i have a dataframe
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
I am creating a stacked chart in Bokeh. Creating the chart is fine, but the legend is incorrect.
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014', '01/01/2015', '01/01/2016'],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
I think above in the line below, i have set the legend to the years. However as in the image, it has set to three points in the graph.
legend = ['01/01/2014', '01/01/2015', '01/01/2016']
python bokeh stacked-chart
i have a dataframe
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
I am creating a stacked chart in Bokeh. Creating the chart is fine, but the legend is incorrect.
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014', '01/01/2015', '01/01/2016'],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
I think above in the line below, i have set the legend to the years. However as in the image, it has set to three points in the graph.
legend = ['01/01/2014', '01/01/2015', '01/01/2016']
python bokeh stacked-chart
python bokeh stacked-chart
asked Mar 27 at 13:56
ben121ben121
3671 silver badge13 bronze badges
3671 silver badge13 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
It does show the right legend names if you put something else in the legend list, as long as it doesn't match the dates in your ColumnDataSource. So a simple fix for your problem is to add a space behind each date in the legend list.
import pandas as pd
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.palettes import Spectral3
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014 ', '01/01/2015 ', '01/01/2016 '],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
thanks very much. was driving me crazy.
– ben121
Mar 27 at 20:30
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55379003%2fbokeh-stack-chart-legend-incorrect%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It does show the right legend names if you put something else in the legend list, as long as it doesn't match the dates in your ColumnDataSource. So a simple fix for your problem is to add a space behind each date in the legend list.
import pandas as pd
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.palettes import Spectral3
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014 ', '01/01/2015 ', '01/01/2016 '],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
thanks very much. was driving me crazy.
– ben121
Mar 27 at 20:30
add a comment |
It does show the right legend names if you put something else in the legend list, as long as it doesn't match the dates in your ColumnDataSource. So a simple fix for your problem is to add a space behind each date in the legend list.
import pandas as pd
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.palettes import Spectral3
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014 ', '01/01/2015 ', '01/01/2016 '],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
thanks very much. was driving me crazy.
– ben121
Mar 27 at 20:30
add a comment |
It does show the right legend names if you put something else in the legend list, as long as it doesn't match the dates in your ColumnDataSource. So a simple fix for your problem is to add a space behind each date in the legend list.
import pandas as pd
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.palettes import Spectral3
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014 ', '01/01/2015 ', '01/01/2016 '],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
It does show the right legend names if you put something else in the legend list, as long as it doesn't match the dates in your ColumnDataSource. So a simple fix for your problem is to add a space behind each date in the legend list.
import pandas as pd
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.palettes import Spectral3
df = pd.DataFrame('Category': ['<£5000', '£100K to £250K'],
'01/01/2014': [8,1],
'01/01/2015': [8,2],
'01/01/2016': [7,1])
grouped = df.groupby('Category')['01/01/2014', '01/01/2015', '01/01/2016'].mean().round(0)
source = ColumnDataSource(grouped)
countries = source.data['Category'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['01/01/2014', '01/01/2015', '01/01/2016'],
x='Category', source=source,
legend = ['01/01/2014 ', '01/01/2015 ', '01/01/2016 '],
width=0.5, color=Spectral3)
p.title.text ='Average Number of Trades by Portfolio Size'
p.legend.location = 'top_right'
p.xaxis.axis_label = 'Portfolio Size'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Average Number of Trades'
show(p)
answered Mar 27 at 14:47
JasperJasper
1,1561 gold badge5 silver badges14 bronze badges
1,1561 gold badge5 silver badges14 bronze badges
thanks very much. was driving me crazy.
– ben121
Mar 27 at 20:30
add a comment |
thanks very much. was driving me crazy.
– ben121
Mar 27 at 20:30
thanks very much. was driving me crazy.
– ben121
Mar 27 at 20:30
thanks very much. was driving me crazy.
– ben121
Mar 27 at 20:30
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55379003%2fbokeh-stack-chart-legend-incorrect%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown