Spotfire: Show/Hide Legend and Switch View Type

Posted on Updated on

In some cases (for ex. Trellis view), to get more visualization space, we could simply hide the legend.

For this, on change of View Type (using a drop down property control – ViewType), I am invoking a script to show or hide the legend.

Below, creating the property control ViewType:

ShowHide_Legend_4

Script executed on change of drop down value: ShowHide_Legend_3

IronPython Code:

from Spotfire.Dxp.Application import Visuals
from Spotfire.Dxp.Application.Visuals import LineChart
from Spotfire.Dxp.Application.Visuals import Legend
for vis in Application.Document.ActivePageReference.Visuals:
if vis.Title == "Sales - Trellis View":
vis.As[LineChart]().Legend.Visible = False
if vis.Title == "Sales - Full View":
vis.As[LineChart]().Legend.Visible = True

In Full View, Color by legend is shown. ShowHide_Legend_2

Disabling the legend in Trellis view.ShowHide_Legend_1

Analyses (dxp) for reference from TibCommunity

Spotfire: Show/Hide Regression Line (Straight Line Fit)

Posted on Updated on

The Straight Line Fit from Lines & Curves could be customized and shown/hidden as per requirement.

Below is a Scatter plot used to add a straight line fit.

ShowHide_Regression_Line_1

Make sure that the Straight Line Fit is the first fitting model in Lines & Curves (to use the script below).

ShowHide_Regression_Line_3

Add a button with script as below. In the previous step, since the first fitting model is our Straight Line Fit, we refer it in the script as FittingModels[0]. If your Straight Line is the second fitting model, you could refer it as FittingModels[1] and so on. Additionally, we need to pass the Scatter Plot as Visualization input vis to the script.

ShowHide_Regression_Line_4

IronPython Script:

from Spotfire.Dxp.Application.Visuals import ScatterPlot
for fm in vis.As[ScatterPlot]().FittingModels:
for vis in Application.Document.ActivePageReference.Visuals:
if vis.Title == "Sales by Profit":
if vis.As[ScatterPlot]().FittingModels[0].Enabled == True:
vis.As[ScatterPlot]().FittingModels[0].Enabled = False
else:
vis.As[ScatterPlot]().FittingModels[0].Enabled = True

Now you can use the button to toggle and show/hide the regression line.

ShowHide_Regression_Line_2

Spotfire: Changing Time Hierarchy using Multiple Date Columns

Posted on Updated on

When using multiple date columns (switched using property control) on a particular axis, we lose the ability to change the time dimension of the date selected. In order to overcome this issue, we can add a Time Hierarchy property control (a slider) and use it to alter the date column’s time hierarchy.

We start off by building a property control for changing date column. An important note here is to provide the Value as exact literals of the column name which you want to use against a Display Name. 

Change_Time_Hierarchy_3

Then we create a TimeHierarchy slider control to navigate across three dimensions – Year, Quarter and Month.

Change_Time_Hierarchy_4

And apply the below custom expression on the date column.

Change_Time_Hierarchy_5

This customization allows us to change the Time Hierarchy for Date columns. Below is a view of quarterly Sales (by Order Date)

Change_Time_Hierarchy_2

And a monthly Sales view (using Dispatch Date)

Change_Time_Hierarchy_1

K-Means Clustering using Spotfire

Posted on Updated on

To perform K-Means clustering in Spotfire, we need an appropriate line chart on which the clustering calculation could be performed.

Below we are using a simple line chart with Sales on Y-axis (a single column and not a custom expression with multiple columns) and Order Date on X-axis.

K-Means_Cluster_1

The Euclidean distance is used to perform the clustering with maximum number of clusters to be 9.

K-Means_3

Here is a segmented view of similar product sub-categories which fall in clusters depending on their sales performance.

K-Means_Cluster_2

Spotfire: Passing value from HTML/JavaScript to Document Property

Posted on Updated on

Reference snippet to pass a radio button value into Spotfire context, that is into a Document Property.



<FORM><B>Select date for filtering:</B>
<P>
<INPUT id=”pack1″
onclick=”document.getElementById(‘145de349837d49f493cc9ec23743b05f’).value=document.getElementById(‘pack1’).value”
value=”N” CHECKED type=radio name=pack1>
Date 1<BR>
<INPUT id=”pack2″
onclick=”document.getElementById(‘145de349837d49f493cc9ec23743b05f’).value=document.getElementById(‘pack2’).value”
value=”Y” type=radio name=pack1>Date 2
</FORM>
</P>


HTML to Document Property

Link to sample Spotfire analyses

R Shiny – Histogram

Posted on

Using Shiny Package in R to develop a Histogram with binning.

R_Shiny_Histogram

Reference:

Histogram – RStudio Shiny