Color Manager Plugin
Download: Color Manager
Introduction
Colors get assigned to values in a widget based on the order they appear and the colors in your current pallete. The color manager plugin improves this with two main features:
- Synchronize colors on a dashboard. This ensures that a category will have the same color across all widgets. For example, if you have multiple widgets that reference the state of ‘New York’, the visualizations for ‘New York’ will be the same color. The colors used will be taken from the palette.
- Define colors for a category. This enables you to assign specific colors for specific categories. For example, you could define the color for ‘New York’ to be blue (#0000FF in hexadecimal), and all visualizations for ‘New York’ will be the same shade of blue.
- Ignore Widgets in the Dashboard. If you don't want a widget to do included, you can put the widget id into an ignore list. For example- if you are using conditional coloring, you'll want to have it be ignored by the color manager.
1. Synchronizing Colors
- Download the attachment and unzip the contents into your C:\Program Files\Sisense\PrismWeb\plugins\ folder. If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. If the plugins folder doesn't exist, please create it.
- Open the script editor for the dashboard you'd like to synchronize the colors on. We have documentation on this feature here: https://www.sisense.com/documentation/extending-dashboard-functiona...
- Put in the following lines of code into your dashboard script
ignoreList=[]; manageColors(dashboard,ignoreList);
2. Define Colors
When you use this feature, if a value in your dashboard doesn’t have a color defined, it will be assigned one from the color palette. We recommend using hexadecimal color notation.
- Open the file C:\Program Files\Sisense\PrismWeb\plugins\manageColors\colorDictionary.js in a text editor, such as notepad. You may need to first open Notepad as an administrator, and then open the file.
- Start adding a comma separated list into this file, with the structure of
'Category':'Color'
- Save the File and refresh the dashboard.
3. Ignore Widgets
In the dashboard script editor, there is a variable called ignoreList. You can put the id of each widget that you’d like to skip over in this dashboard into a comma separated list.
Supported Widgets
-
Column/Bar- If you only are using categories, the value in the category will be used for the coloring. Otherwise, the values in the break by are used.
-
Pie chart
-
Line chart/area chart- Line colors are only used if there is a break by in the chart.
-
Polar Chart
- Scatter Chart
-
Isn't using colour palettes doing the same thing?
0 -
Hi Michal,
Color palettes guarantee that all of your widgets will use the same set of colors. It doesn't match the colors to particular values in the widget. If you look at the 'Before' picture, you'll see that the category 'Clothing' appears in three different colors in the dashboard. In the 'After' picture, all visualizations of 'Clothing' data are purple.
0 -
Nice plugin....is there a way to exclude certain widgets from following the sync?
Some widget I want to still apply a certain color different from my palette and with this is wont let me.
0 -
Hi Andrew,
I just updated the plugin to include this feature, along with the ability to define category colors.
0 -
I'd like to color Sisense's null value, which is displayed as "N\A" in dashboards. How would I update the colorDictionary.js to do so?
Currently, I have these entries, but they don't make an impact on the dashboard:
'N/A':'#868686',
'N\A':'#868686',
' ':'#868686',
'':'#868686',
'NULL':'#868686',
'Null':'#868686',
'null':'#868686'Other values I've set in colorDictionary.js work, so I know the plugin is configured properly.
Thank you
0 -
Hi Lloyd,
Try 'N\\A' instead.
Max
0 -
Max, that worked! Thank you.
1 -
HI there,
Great plug in. i still have some trouble managing it through one of my dashboard. In the attached file it didn't display it with the good colors unless I use my cateogry on the top as a break by... Any chance to change this bug ?
Besides, I also found out that It didn't work as expected on a stacked column that is not working with my defined categories.
Thanks in advance for your help and action.
Best;
Alex.
0 -
Hi Alexandre,
Thanks for the comment. We'll take a look into it and back to you soon.
Thanks,
Oxana
0 -
This is a great plugin, but I cannot get it to work.
running v6.5.1.
The categories are not colored,
and also - any Funnel widgets I have disappear from the dashboards when the plugin is installed...
0 -
Ok, Sorry, my mistake, I found that I had a syntax error in my colordictionary.js file which caused the plugin not to load correctly.
But After fixing the syntax... I am now experiencing the same problem that Alexandre mentioned:
colors are not displayed correctly. any category mentioned in the color dictionary file is shown in black... below screenshot shows only one category in red (the category i did NOT put in the dictionary).
0 -
Ah, finally it works. There's nothing wrong with the plugin, just something wrong with my typing today... Another typo error. :)
0 -
Great, great plugin! - should be added to the Sisense supported plugins. It's wonderful.
0 -
Doesn't seem to work if the category that is supposed to be affected is the second category (and not the first) in a column chart... Still a great plugin, but would it be possible to improve it to work if on the second category?
0 -
Thanks for letting us know Adi and it's great that you are finding this plugin useful.
Maybe someone from the community has developed the improvement of the second category and can share?
I will also share your request with our professional services team and we'll see what can be done.
@Alexandre, we are still looking into the issue you've reported back in October. I apologize for the delay.
Thanks,
Oxana
0 -
Great news!
I invested the time to improve the plugin.
The Enhanced Color Manager Plugin now works also for bar/column charts with 2 categories!
If your chart contains 2 categories, then the plugin will now apply the colors you define in the color dictionary as follows:
- If a color for either the 1st or 2nd category is found in the dictionary - it will be used.
- If a color is found for BOTH first and secondary categories, then the color for the secondary category is used.
- If the dictionary does not specify a color for either categories: a color from the dashboard palette is used.
@Alexandre Biton, I think this could possibly fix your issue as well... please try it out. From your screenshot it seems your problem is caused from having 2 categories in the chart. This should fix it.
Note: The plugin will still work if you use 1 category and 1 break-by as before. But I did not test what will happen with 2 categories and also "break-by".
Installation:
Just unzip the attached file into the C:\Program Files\Sisense\PrismWeb\plugins\manageColors folder (replace the old manageColors plugin if it exists).
Update: you can see a description and download the new plugin here:
0 -
Hi,
Looks great indeed, I found a way to work it around, but It will be easier with your new plugin !
Thanks a lot.
Best,
Alex.
0 -
@Alexandre, I'm curious how you managed to work around this... because I was having a similar issue but could not think of a workaround except for modifying the plugin....
Could you share?
@Oxana, can you please help with the access to the google drive folder so that I can upload the plugin?
0 -
Hi Adi,
Thanks so much for taking the time to improve the plugin and thanks for sharing it with the community! 😄
We were doing some work with the file storage solution on the community platform, so I had to temporarily remove it from the "New Post" page. However I've returned it back now and you should be able to access it.
Please let me know if you experience any issues.
0 -
Thanks Oxana,
I've managed to upload the Improved plugin.
Here is a link to the new post describing the Improved Color Manager plugin.
You can download the new (Improved) plugin from that post.
Hope this helps!
1 -
Hi, Is it possible to categorise by a Like for Like.
For example we have alot of products that start with a product code Eg: CK4A18276GHSxxx
This CK4A stays the same and the rest of the numbers and letters change.
Is it possible to make the Colour dictionary do this for example:
'CK4A%':'#868686',
% being everything else that follows?
That way my product codes are grouped with the same colour?
0 -
I have a multi-select filter that is then applied to several widgets. The end user can only select up to 4 items, but there are thousands of items to select from. So I cannot define a color for each unique series.
Can I modify this widget to apply to my scenario?
Maybe something where once four items were selected - widget applies pre-defined four colors to them, and them assures all widgets use only those four colors?
0 -
@Sisense License,
I understand what you are trying to achieve. This could be done by modifying the plugin code.
I am not testing this on my system, so I'm not 100% I'm getting the code right here. it may need some tweaking.
But basically you should edit the manageColors.js file and edit the code here:
original code:
//lookup current color, returns null if not assigned
function getColor(cat) {
return prism.colorDictionary[cat];
};Change it to look like this:
//lookup current color, returns null if not assigned
function getColor(cat) {
var catprefixonly=cat.slice(0,4); //this keeps only the first 4 characters of the category name
return prism.colorDictionary[catprefixonly];
};Make sure you also:
a) change the colorDisctionary.js file to include only the prefixes of your categories.
so in your example this should be like: 'CK4A':'#868686', and so on...
b) reload the plugin (restart IIS) before checking.
I hope this works!
0 -
@ Tohir Tillyaev
So If I understand correctly, you need:
a) That each certain category will have the same consistent color across all widgets in your dashboard - this is something the colormanager plugin already does.
b) And that YOU will be able to control which colors are used for the categories - this is also something the plugin already does.
c) But you do not want to manually enter the color used for each category in the colorDictionary.js file, because you have thousands of possible categories, and you do not care which color is used for which category - as long as the colors used are from a set of 4 colors you specify.
correct?
If so the solution should be quite simple. Use Sisense's built-in dashboard palette functionality.
As you probably know, Sisense allows you select a color palette for each dashboard. The palette you select determines the colors that will be used in widgets.
By default, Sisense provides a few built-in options for the palette. A palette like 'Basic' contains only 4 colors, and so only these 4 colors will be used for categories.
Now, the way ColorManager plugin works, it will use for each category the color you specify in the colorDictionary.js file. But for categories that you DID NOT specify in the colorDictionary.js file, it will select a color from the dashboard's color palette. And it will make sure that the color selected from the palette remains consistent for that category across all widgets on the dashboard.
So all you need to do is:
a) use the colorManager plugin with nothing in the colorDictionary.js file.
b) select a palette for your dashboard that contains the colors you would like to see for the categories that are selected in the dashboard filter.
If you don't find a palette that you like from within the list of built-in palettes, you can create your own custom palette:
https://support.sisense.com/hc/en-us/articles/230652748-Edit-a-Color-Palette-
0 -
Is anyone having an issue where going from a dashboard that is using the manageColors plugin and then going to a dashboard that does not use manage colors, the colors from the plugin are getting applied to that dashboard?
When moving between dashboards, I mean using the left side tray.
1 -
Running into the same issue as above. It seems to be happening on charts where there is a 'Category' , if we have no 'Cateogry' and the bars are setup using 'Values' the colors don't overwrite.
Anyone have a workaround ?
These two coming to my mind -
Option 1 dashboard script that can suppress the color palette getting attaching to a dashboard where you want the custom color settings to stay.
Option 2. Loop through all the widgets to make their id list and set that as the ignoreList.
An
1 -
Amazing plugin! However, we recently updated the Sisense to Windows version 8.1.1, and upon testing I noticed that the color's script is not being applied to generated PDF but the preview of PDF shows the color layed out properly.
Does the script need to be updated to apply the colors to generated PDF?
- Aiyana
0
Please sign in to leave a comment.
Comments
27 comments